java编程实例
不用太复杂的,能够充满A4纸3、4篇就行
提问者: 愿望奴仆 - 二级 最佳答案
我有很多的,你要求A4纸3、4篇就行,我不知道这个可以不
JAVA版QQ聊天软件简单版
客户端程序
import java.awt.*;
import java.net.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
public class ClientDemo2 extends JFrame implements ActionListener{
private JTextArea msgView = new JTextArea();
private JScrollPane sp = new JScrollPane(msgView);
private JTextField sendBox = new JTextField();
private PrintWriter writer;
private BufferedReader reader;
Socket socket;
public ClientDemo2() {
super("客户机");
JPanel content = new JPanel(new BorderLayout());
msgView.setEditable(false);
content.add(sp, BorderLayout.CENTER);
content.add(sendBox, BorderLayout.SOUTH);
this.setContentPane (content);
this.setBounds (400,200,400,300);
this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
sendBox.addActionListener(this);
}
//连接服务器
private void connect() {
try {
msgView.append("尝试与服务器连接\n\n");
socket = new Socket("127.0.0.1", 4321);
msgView.append("完成连接\n\n");
//获取套接字输入输出流
writer = new PrintWriter(socket.getOutputStream(), true);
//用于客户向服务器写信息
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//用于读来自于服务器的信息
//接收来自服务器的消息
reseiveMsg();
} catch (Exception e) {
msgView.append("连接失败\n\n");
}
}
//接收来自服务器的消息
void reseiveMsg(){
while(true){
try{
msgView.append("服务器说:" + reader.readLine() + "\n\n");
}catch(IOException ioe){
}
}
}
//客户端文本框中输入结束后【Enter】,即向服务器输出信息
public void actionPerformed(ActionEvent ae) {
//利用输出流发送sendBox中的信息
writer.println(sendBox.getText());
msgView.append("客户机说:" + sendBox.getText() + "\n\n");
sendBox.setText("");
}
public static void main(String[] args) {
ClientDemo2 client = new ClientDemo2();
client.setVisible(true);
//连接服务器
client.connect();
}
}
服务器端
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ServerDemo2 extends JFrame implements ActionListener{
private BufferedReader reader;
private PrintWriter writer;
private ServerSocket server;
private Socket socket;
private JTextArea msgView = new JTextArea();
private JScrollPane sp = new JScrollPane(msgView);
private JTextField sendBox = new JTextField();
public ServerDemo2(){
super("服务器");
JPanel content = new JPanel(new BorderLayout());
msgView.setEditable(false);
content.add(sp, BorderLayout.CENTER);
content.add(sendBox, BorderLayout.SOUTH);
this.setContentPane (content);
this.setBounds (5,200,400,300);
this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
sendBox.addActionListener(this);
}
//启动服务器
void startServer() {
try {
server = new ServerSocket(4321);
msgView.setText("服务器套接字创建完成\n\n");
while (true) {
msgView.append("等待客户端连接请求\n\n");
socket = server.accept(); //服务器套接字监听客户端的请求
msgView.append("完成与客户机的连接\n\n");
//获取套接字输入输出流
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//用于从客户机读信息
writer = new PrintWriter(socket.getOutputStream(),true);
//用户向客户机写信息
//接收客户端信息
getClientMessage();
}
} catch (Exception e) {
System.out.println(e.getMessage ());
}
}
//接收客户机信息
void getClientMessage() {
try {
while (true) {
//利用套接字输入流读入信息
msgView.append("客户机说: " + reader.readLine() + "\n\n");
}
} catch (Exception e) {
} finally {
msgView.append("客户机中断连接\n\n");
try {
reader.close();
socket.close();
} catch (IOException ie) {
}
}
}
//服务器文本框中输入结束后【Enter】,即向客户机输出信息
public void actionPerformed(ActionEvent ae) {
//利用输出流发送sendBox中的信息
writer.println(sendBox.getText());
msgView.append("服务器说:" + sendBox.getText() + "\n\n");
sendBox.setText("");
}
public static void main(String[] args) {
ServerDemo2 server = new ServerDemo2();
server.setVisible(true);
//启动服务器
server.startServer();
}
}
如何求英文句子中的每个字母出现次数
提问者: 李245349217 - 一级
最佳答案
我是Java初学者,我看了你的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
后想了很久终于把它做出来了,你看看吧,方法不是很好,但能满足你的要求:
import java.util.Scanner; public class Check2{
int t;
char[] chs = new char[500]; //输入的句子不能超过500个字符
Check2() {
String str;
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串(输入的字符串不能超过500个字符):");
str = sc.nextLine();
t=str.length();
for (int i = 0; i < t; i ++) {
chs[i] = str.charAt(i); //将输入的字符串装入数组
}
}
}
class FuZhi{
char[] letter=new char[52]; //将52个字母(含大小写)装入数组
FuZhi(){
char p;
int i=0,j=26;
for(p='A';p<='Z';p++){
letter[i]=p; //这句刚才写掉了,加上去后程序就完整了
i++; //将A-Z装入数组
}
for(p='a';p<='z';p++){
letter[j]=p; //将a-z装入数组,并且从数组的第26个开始装入(letter[0]-letter[25]已被装入了字
母)
j++;
}
}
}
class display{
public static void main(String[] args){
char temp;
int t;
int[] n= new int [52]; //用于统计每个字符出现的次数
Check2 k =new Check2();
FuZhi m=new FuZhi();
for(int j=0;j<52;j++){
t=0; //令t为0,,并且使上一个字母统计完成后
//将其再次初始化(如A统计完成后,当程序统计B出现的次数时,使B的初始次数为0)
for(int i=0;i
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
一个字母在程序中出
现的次数
}
}
}
System.out.println("总共输入了"+k.t+"个字符:\n"+"其中");
for(int i=0;i<52;i++){
System.out.println("字母"+m.letter[i]+"出现的次数为:"+n[i]+"次");
}
}
}
写掉了一句“letter[i]=p;”,现在已经补上了,程序可以运行了,你试一下吧~~~
Java实例入门(一)
public class HelloWorld
{public static void main(String args[])
{System.out.println("Hello World!");
}
}
保存为:HelloWorld.java
注意:文件名必须与包含main方法的类的名字相同,扩展名必须为java。 运行结果:
在屏幕上打印出:Hello,World!
public class Add
{public static void main(String args[])
{int a=3,b=6;
int c=a+b;
System.out.println("c="+c);
}
}
保存为:Add.java
运行结果:
在屏幕上输出:c=9
java实例入门(二)-----基本运算符与表达式
public class Arithmetic
{public static void main(String args[])
{int i=8,j=4,I=0; //定义变量
int a=5,b=6; //变量初始化
float f=1.0f; //单精度类型
double d=2.5d; //双精度类型
int m=i%j;
f=i/j;
I=++i+j++; //I=?
System.out.println("I="+I);
System.out.println("f="+f);
int c=a>b?a:b;
d+=a;
System.out.println("d+a="+d); //自动类型转换
int n=(int)(d+b);
System.out.println("n="+n); //强制类型类型转换,会丢失精度
boolean bool=a>b;
System.out.println("bool="+bool);
boolean firstbool=true;
boolean secondbool=bool&&firstbool;
secondbool=bool||firstbool;
char ch='H';
System.out.println("ch="+ch);
String s="Hello,Everyone!";
System.out.println(s);
}
}
运算结果:
C:\java>java Arithmetic I=13
f=2.0
d+a=7.5
n=13
bool=false
ch=H
Hello,Everyone!
C:\java
java实例入门(三)--获取命令行参数
public class GetArgs
{public static void main(String myargs[])
{String s="";
if (myargs.length!=0)
s=myargs[0];
System.out.println("s="+s);
}
}
要点:参数放在字符串数组myargs里;
注意:编译后,必须用命令行运行此程序,方法:
java GetArgs Hello
运行结果为:
s=Hello
java实例入门(四)-----循环语句
/**
* 编写程序,计算从1到100的累加和,用for语句实现。
*/
public class Sum {
public static void main(String[] args) {
int s = 0; // 用来保存累加和,初始化为 0
for(int i = 0; i <= 100; i++)
s += i; // for 循环体只有一个语句,可不用大括号
System.out.println("从1到100的累加和为:" + s);
}
}
/* 计算从正整数n1到n2的累加和,用while语句实现。
*/
// 解法一,固定 n1, n2 的值
public class Sum {
public static void main(String[] args) {
int s = 0; // s 用来保存累加和,初始化为 0
int n1 = 8, n2 = 66; // 预定 n1, n2 的值
int i = n1; // i 用来做循环计数,初始化为 n1
while(i <= n2){
s += i;
i++;
}
System.out.println("n1为:" + n1 + "; n2为:" + n2);
System.out.println("从n1到n2的累加和为:" + s);
}
} // 解法一结束
/*解法二,键盘输入n1, n2的值
import java.io.*;
public class Sum {
public static void main(String[] args) {
int s = 0; // s 用来保存累加和,初始化为 0
String str = ""; // String对象str用来保存键盘输入的字符串
int n1 = 0, n2 = 0;
try{
java.io.InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("输入正整数n1:"); // 由键盘取得n1
str = br.readLine();
n1 = Integer.parseInt(str);
System.out.print("\n再输入正整数n2:"); // 由键盘取得n2
str = br.readLine();
n2 = Integer.parseInt(str);
}catch(IOException e){ }
int i = n1; // i 用来做循环计数,初始化为 n1
while(i <= n2){
s += i;
i++;
}
System.out.println("从n1到n2的累加和为:" + s);
}
} // 解法二结束
/**
* 编写程序,计算从1到100的累加和,用do-while语句实现。
*/
public class Sum {
public static void main(String[] args) {
int s = 0; // s用来保存累加和,初始化为 0
int i = 1; // i用来做循环计数,初始化为 1
do{
s += i;
i++;
}while(i <= 100);
System.out.println("从1到100的累加和为:" + s);
}
}
java实例入门(五)----break语句的使用
/*不带标号的break语句的使用 */
public class BreakOne
{public static void main(String args[])
{int index=0;
while (index<=100)
{index+=10;
if(index==40)
break;
System.out.println("index="+index);
}
}
}
运行结果:
index=10
index=20
index=30
/* 带标号的break语句 */
class BreakTwo
{public static void main(String args[])
{int sum=0;
coloop:
while (sum<=100)
{for(int count=0;count<10;count++)
{sum+=count;
if(sum>50)
break coloop; //跳出coloop标识的循环
}
}
System.out.println("sum="+sum);
}
}
运行结果:
sum=51
java实例入门(六)----continue语句的使用
/*不带标号的continue语句*/
public class ContinueOne
{public static void main(String args[])
{int index=0;
while(index<=99)
{index+=10;
if(index==40)
continue;
System.out.println("index="+index);
}
}
}
运行结果:
index=10
index=20
index=30
index=50
index=60
index=70
index=80
index=90
index=100
注意:
为什么40没有打印出来?
/*带标号的continue语句*/
public class ContinueTwo
{public static void main(String args[])
{System.out.println("**100到200之间的所有素数**");
int n=0;
outer:for(int i=101;i<200;i+=2)
{ int k=15;
for(int j=2;j<=k;j++)
{if(i%j==0)
continue outer;
}
System.out.print(" "+i);
n++;
if(n<10)
continue;
System.out.println();
n=0;
}
System.out.println();
}
}
/*用switch语句实现学生成绩的百分制到等级制的转换*/
class SwitchDemo
{public static void main(String[] args)
{int testscore=88;
char grade='A';
switch(testscore/10)
{case 10:
case 9:
grade='A';
break;
case 8:
grade='B';
break; case 7:
grade='C';
break;
case 6:
grade='D';
break;
default:
grade='F';
break;
}
System.out.println("grade is:"+grade);
}
}
运行结果:
grade is:B
java实例入门(八)---一维数组的使用
/*冒泡法排序*/
public class BubbleSort
{public static void main(String args[])
{int i,j;
int intArray[]={20,1,-3,30,50};
int len=intArray.length;
for(i=1;i< len;i++)
for(j=0;j<=len-i-1;j++)
if(intArray[j]>intArray[j+1])
{int t=intArray[j];
intArray[j]=intArray[j+1];
intArray[j+1]=t;
}
for(i=0;i< len;i++)
System.out.println(intArray[i]+" ");
}
}
运行结果:
C:\java>java BubbleSort
-3
1
20
30
50
C:\java>
java实例入门(九)---多维数组的使用
/*打印杨辉三角形*/
public class YangHui
{public static void main(String args[])
{
final int ROW=8;
int a[][]=new int[ROW+1][];
for(int i=0;i<=ROW;i++)
{
a[i]=new int[i+1]; //分配每一行的列数,java语言支持不等维的数组
}
yanghui(a,ROW);
}
static void yanghui(int a[][],int ROW)
{
for(int i=0;i<=ROW;i++)
for(int j=0;j<=a[i].length-1;j++)
{
if(i==0||j==0||j==a[i].length-1)
a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(int i=0;i<=ROW;i++)
{
for(int j=0;j<=a[i].length-1;j++)
System.out.print(a[i][j]+"\t");
System.out.println();
}
}
}
运行结果:
C:\java>java YangHui
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
C:\java>
java实例入门(十)---字符串的基本使用方法
public class StringDemo
{
public static void main(String args[])
{String s=" Hello ";
System.out.println("s="+s);
System.out.println("s.toLowerCase()="+s.toLowerCase()); //转换为小写字符串
System.out.println("s.t0UpperCase()="+s.toUpperCase()); //转换为大写字符串
System.out.println("s.trim()="+s.trim());
System.out.println("s.substring(5)="+s.substring(5));
System.out.println("s.substring(3,5)="+s.substring(3,5));
String news=s.replace('l','t');
System.out.println("replace all 'l' with 't':"+news);
}
}
运行结果:
C:\java>java StringDemo
s= Hello
s.toLowerCase()= hello
s.t0UpperCase()= HELLO
s.trim()=Hello
s.substring(5)=lo
s.substring(3,5)=el
replace all 'l' with 't': Hetto
C:\java>
Java经典编程实例:四叶玫瑰线
作者: 佚名, 出处:IT专家网, 责任编辑: 谢妍妍,
2009-08-12 13:00
本文介绍一个Java经典编程实例——四叶玫瑰线。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RoseJFrame extends JFrame implements
ComponentListener,ItemListener
{
private JComboBox combobox_color;
public RoseJFrame()
{
super("四叶玫瑰线");
this.setSize(600,400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
Object data[]={Color.red,Color.green,Color.blue};
combobox_color=new JComboBox(data);
combobox_color.addItemListener(this);
this.add(combobox_color);
this.addComponentListener(this);
this.setVisible(true);
}
public void paint(Graphics g)
{
int x0,y0;
x0=this.getWidth()/2;
y0=this.getHeight()/2;
g.setColor((Color)combobox_color.getSelectedItem());
g.drawLine(x0,0,x0,y0*2);
g.drawLine(0,y0,x0*2,y0);
int j=40;
while(j<200)
{
for(int i=0;i<1023;i++)
{
double angle=i*Math.PI/512;
double radius=j*Math.sin(2*angle);
int x=(int)Math.round(radius*Math.cos(angle)*2);
int y=(int)Math.round(radius*Math.sin(angle));
g.fillOval(x0+x,y0+y,1,1);
}
j+=20;
}
}
public void itemStateChanged(ItemEvent e)
{
repaint();
}
public void componentResized(ComponentEvent e)
{
repaint();
}
public void componentMoved(ComponentEvent e){ }
public void componentHidden(ComponentEvent e){ }
public void componentShown(ComponentEvent e){ }
public static void main(String arg[])
{
new RoseJFrame();
}
}