文档库 最新最全的文档下载
当前位置:文档库 › 一个Java小程序源代码

一个Java小程序源代码

一个Java小程序源代码
一个Java小程序源代码

一个Java小程序源代码

一个Java小程序源代码(反转字符串)

//BorderLayoutTest.java

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*; import javax.swing.event.*; public class test1

{

public static void main(String[] args)

{

cloneFrame frame = new cloneFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.show();

}

}

class cloneFrame extends JFrame {

public cloneFrame()

{

setTitle("机试程序");

setSize(600, 400);

JPanel buttonPanel = new JPanel();

buttonPanel.setBackground(new Color(56,43,85));

Button1 = new JButton("点击复制反转字符串");

Button1.addActionListener(new turnListener()); buttonPanel.add(Button1);

JPanel textPanel = new JPanel();

textPanel.setBackground(new Color(100,100,100));

field1 = new JTextField("姓名:老孙;学号:2004132028", 20); field2 = new JTextField("反转", 20);

field2.setEditable(false);

textPanel.add(field1);

textPanel.add(field2);

JPanel tuPanel = new JPanel();

JLabel label = new JLabel(new ImageIcon("006.gif")); tuPanel.add(label);

tuPanel.setBackground(new Color(100,100,100));

Container contentPane = getContentPane();

contentPane.add(buttonPanel, BorderLayout.SOUTH); contentPane.add(textPanel, BorderLayout.NORTH); contentPane.add(tuPanel, BorderLayout.CENTER); contentPane.setBackground(new Color(100,100,100)); } private class turnListener

implements ActionListener

{

public void actionPerformed(ActionEvent event)

{

String gets = field1.getText();

int i = gets.length();

StringBuffer buffer = new StringBuffer(i);

for(int j=i-1;j>=0;j--)

{

buffer.append(gets.charAt(j));

}

String gets2 = buffer.toString();

field2.setText(gets2);

}

}

Container contentPane = getContentPane(); contentPane.add(buttonPanel, BorderLayout.SOUTH); contentPane.add(textPanel, BorderLayout.NORTH); contentPane.add(tuPanel, BorderLayout.CENTER); contentPane.setBackground(new Color(100,100,100)); } private class turnListener

implements ActionListener

{

public void actionPerformed(ActionEvent event)

{

String gets = field1.getText();

int i = gets.length();

StringBuffer buffer = new StringBuffer(i);

for(int j=i-1;j>=0;j--)

{

buffer.append(gets.charAt(j));

}

String gets2 = buffer.toString();

field2.setText(gets2);

}

}

private JButton Button1;

private JTextField field1;

private JTextField field2;

}

Java1

package com.kenki.emp;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

import java.sql.SQLException;

import java.sql.*;

public class emp extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=GBK";

//Initialize global variables

public void init() throws ServletException { }

//Process the HTTP Get request

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

response.setContentType(CONTENT_TYPE); PrintWriter out =

response.getWriter(); String code = request.getParameter("code"); String name = request.getParameter("name"); String pay =

request.getParameter("pay"); System.out.println("empcode:" + code);

System.out.println("name:" + name);

System.out.println("pay:" + pay);

//创建驱动

new com.microsoft.jdbc.sqlserver.SQLServerDriver(); String strd = "jdbc:microsoft:sqlserver://localhost:1433;databasename=emp_dates";

String username = "sa";

String pws = "";

try {

java.sql.Connection conn = java.sql.DriverManager.getConnection( strd, username, pws);

String strs = "insert into emp values(?,?,?)";

java.sql.PreparedStatement pre = conn.prepareStatement(strs);

pre.setString(1, code);

pre.setString(2, name);

pre.setString(3, pay);

pre.execute();

pre.close();

conn.close();

//重定向至查询页面

out.println("成功保存~~");

response.sendRedirect("emp.html");

} catch (SQLException ss) {

ss.printStackTrace();

response.sendRedirect("/WebModule1/error.html");

}

}

//Process the HTTP Post request public void

doPost(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException { doGet(request, response); } //Clean up resources

public void destroy() {

}

}

Java2

//这是个聊天程序,在ECLIPSE 运行 Client.java 就可以了。连接是:localhost

//Server 代码,

package message;

import java.io.*;

import https://www.wendangku.net/doc/5a6190260.html,.*;

import java.util.*;

public class Server {

public static void main(String[] args) throws

Exception{ System.out.print("Server");

ServerSocket socket=new ServerSocket(8888); Vector v=new Vector();

while(true){

Socket sk=socket.accept();

DataInputStream in=new DataInputStream(sk.getInputStream());

DataOutputStream out=new DataOutputStream(sk.getOutputStream());

v.add(sk);

new ServerThread(in,v).start();

}

}

}

//ServerThread.java 代码

package message;

import https://www.wendangku.net/doc/5a6190260.html,.*;

import java.io.*;

import java.util.*;

public class ServerThread extends Thread{

DataInputStream in;

Vector all;

public ServerThread(DataInputStream in,Vector v){

this.in=in;

this.all=v;

}

public void run()

{

while(true)

{

try{

String s1=in.readUTF(); for(int i=0;i

Socket socket=(Socket)obj; DataOutputStream out=new DataOutputStream(socket.getOutputStream());

out.writeUTF(s1);

System.out.print(i);

out.flush();

}

System.out.print("Message send over!");

}catch(Exception e){e.printStackTrace();};

}

}

}

//ClientFrame.java 代码

package message;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import https://www.wendangku.net/doc/5a6190260.html,.*;

import java.io.*;

public class ClientFrame extends JFrame implements ActionListener{ JButton b1=new JButton ("SendMessage"); JButton b2=new JButton("Link Server"); JTextField t1=new JTextField(20); JTextField t2=new JTextField(20); JLabel l=new JLabel("输入服务器名字:");

JTextArea area=new JTextArea(10,20); JPanel p1=new JPanel();

JPanel p2=new JPanel();

JPanel p3=new JPanel();

JPanel p4=new JPanel();

Socket socket;

public ClientFrame()

{

this.getContentPane().add(p1); p2.add(new JScrollPane(area));

p3.add(t1);

p3.add(b1);

p4.add(l);

p4.add(t2);

p4.add(b2);

p2.setLayout(new FlowLayout()); p3.setLayout(new FlowLayout());

p4.setLayout(new FlowLayout()); p1.setLayout(new BorderLayout());

p1.add("North",p2);

p1.add("Center",p3);

p1.add("South",p4);

b1.addActionListener(this); b2.addActionListener(this);

this.pack();

show();

}

Java3

/*1、编写一个猜数字的游戏,由电脑随机产生一个100以内的整数,让用户

去猜,如果用户猜的比电脑大,则输出“大了,再小点~”,反之则输出“小了,

再大点~”,用户总共只能猜十次,并根据用户正确猜出答案所用的次数输出相应

的信息,如:只用一次就猜对,输出“你是个天才~”,八次才猜对,输出“笨死了~”,如果十次还没有猜对,则游戏结束~*/

import java.util.*;

import java.io.*;

public class CaiShu{ public static void main(String[] args) throws IOException{

Random a=new Random(); int num=a.nextInt(100); System.out.println("

请输入一个100以内的整数:"); for (int i=0;i<=9;i++){ BufferedReader

bf=new BufferedReader(new InputStreamReader(System.in));

String str=bf.readLine(); int shu=Integer.parseInt(str); if (shu>num) System.out.println("输入的数大了,输小点的~"); else if (shu

System.out.println("输入的数小了,输大点的~"); else {

System.out.println("恭喜你,猜对了~"); if (i<=2)

System.out.println("你真是个天才~"); else if (i<=6)

System.out.println("还将就,你过关了~"); else if (i<=8)

System.out.println("但是你还……真笨~"); else

System.out.println("你和猪没有两样了~");

break;}

}

}

}

package GuessNumber;

import java.io.*;

import java.io.BufferedWriter;

public class GuessNumber {

public void show() {

DataInputStream stdin = new DataInputStream(System.in);

BufferedInputStream buffin = new BufferedInputStream(stdin);

number = (int) (Math.random() * 10000); try {

while (flag) {

System.out.println("产生的随机数是:"+number);

System.out.println("这是一个猜数字的小游戏,请您输入一个从0到10000的数字~");

input = stdin.readLine();

// guessnumber=Integer.parseInt(input); /*

* if(Character.isLetter(guessnumber)){ * System.out.println("你输入的不是数字,请输入一个数字~"); flag=true; } */

/*

* if(!Character.isDigit(input)){ * System.out.println("你输入的不是

数字,请输入一个数字~"); flag=true; } */

guessnumber = Integer.parseInt(input); //

guessnumber=Integer.valueOf(stdin.readLine()).intValue();

System.out.println("你输入的数是:" + guessnumber); {

if (number < guessnumber)

System.out.println("你输入的数大了请重新输入!");

if (number > guessnumber)

System.out.println("你输入的数小了请重新输入~");

count++;

flag = true;

}

if (number == guessnumber) {

System.out.println("你真历害这么快你就猜对了!");

System.out.println("你一共猜了" + count + "次");

flag = false;

System.out.println("请输入你的名字:");

String name = stdin.readLine(); byte names[] = name.getBytes("ISO-8859-1");

userName = new String(names); System.out.println("姓名:" + userName); System.out.println("记录是:" + count + "次");

SaveFile save = new SaveFile(); save.output(userName, 0,

userName.length());

}

// guessnumber=Integer.parseInt(stdin.readLine());

}

stdin.close();

buffin.close();

} catch (IOException e) {

e.getMessage();

// e.toString();

System.out.println("产生了异常~");

}

}

public static void main(String[] args) { GuessNumber gus = new GuessNumber(); gus.show();

/*

* try{ System.out.println("按回车结束....."); System.in.read(); } * catch(IOException e){}

*/

}

private static String input; // 用户开始输入数字或字母

private static int number; // 产生的随机数

private static int guessnumber;// 用户输入的的数字

private static int count = 0; // 用统计用户猜的次数

private boolean flag = true; // 标记继续输入数字进行猜

private String userName; // 用来记录猜对的用户名字

}

class SaveFile {

// 这个方法是将传过来的名字写入文件里

public void output(String name, int a, int length) {

try {

FileWriter sout = new FileWriter("Gamererecord.txt");

BufferedWriter out = new BufferedWriter(sout);

sout.write(name, 0, length);

sout.close();

out.close();

} catch (IOException e) {

System.out.println("IO Error" + e); }

}

}

可以直接出结果的,不过你得先建立一个名为GuessNumber的包,在此包下建立一个名为GuessNumber的类,然后将些段代码粘贴进来根据提示就可以出结果的JAVA小游戏代码

int player1win,player2win;

protected synchronized void keyPressed(int keyCode){

...

else if(action ==

Canvas.FIRE){ if(chesses[selectedY][selectedX]==null){ chesses[selectedY ][selectedX]=new Chesses(this.isPlayer1);

if(checkWin()){

String winner;

if(isPlayer1){

winner="白方胜利";

player1win++;

}

else{

winner="红方胜利";

player2win++;

}

try{

Thread.sleep(3000);

}catch(Exception e){

}

Alert winAlert=new Alert("", winner+"\n白方

"+player1win+":"+player2win+"红方", null,https://www.wendangku.net/doc/5a6190260.html,);

winAlert.setTimeout(Alert.FOREVER);

Display.getDisplay(gobang).setCurrent(winAlert,this);

init();

repaint();

}

this.isPlayer=!this.isPlayer1;//切换下棋方

}

}

repaint();

}

private boolean checkWin(){ int num=1; if(num<5){

num=1;

for(int i=1;i<4;i++){

if(isPlayer1(selectedX-i,selectedY)){ num++;

}

ease break;

}

for(int i=1;i<4;i++){

if(isPlayer1(selectedX+1,selectedY)){ num++;

}

else break;

}

}

if(num<5){

num=1;

for(int i=1;i<4;i++){

if(isPlayer1(selectedX-i,selectedY)){ num++;

}

ease break;

}

for(int i=1;i<4;i++){

if(isPlayer1(selectedX+1,selectedY)){

num++;

}

else break;

}

}

if(num<5{

num=1;

for(int i=1;i<=4;i++){

if(isPlayer1(sesectedX,selectedY-i)){

num++;

}

ease break;

}

for(int i=1;i<=4;i++){ if(isPlayer1(selectedX.,selectedY+i))

num++;

else break;

}

}

if(num<5){

num=1;

for(int i=1;i<=4;i++){ if(isPlayer1(selectedX+i,selectedY-i)) num++; else break;

}

for(int i=1;i<=4;i++){ if(isPlayer1(selectedX-i,selectedY+i)) num++;

else break;

}

}

if(num>=5)

return true;

else

return false;

}

private boolean isPlayer1(int y,int x){

if(x<=15 && x>=0 && y<=15 && y>=0 && chesses[x][y]!=null){

if(chesses[x][y].isPlayer1==this.isPlayer1)

return true;

else

return false;

}

else return fale;

}

JAVA计算器源代码

import java.awt.*;

import java.awt.event.*; import https://www.wendangku.net/doc/5a6190260.html,ng.*;

import javax.swing.*;

public class Counter extends Frame {

//声明三个面板的布局

GridLayout gl1,gl2,gl3;

Panel p0,p1,p2,p3;

JTextField tf1;

TextField tf2;

Button

b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b1 9

,b20,b21,b22,b23,b24,b25,b26; StringBuffer str;//显示屏所显示的字符串

double x,y;//x和y都是运算数

int z;//Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/" static double m;//记忆的数字

public Counter()

{

gl1=new GridLayout(1,4,10,0);//实例化三个面板的布局 gl2=new GridLayout(4,1,0,15); gl3=new GridLayout(4,5,10,15);

tf1=new JTextField(27);//显示屏

tf1.setHorizontalAlignment(JTextField.RIGHT);

tf1.setEnabled(false);

tf1.setText("0");

tf2=new TextField(10);//显示记忆的索引值

tf2.setEditable(false);

//实例化所有按钮、设置其前景色并注册监听器

b0=new Button("Backspace"); b0.setForeground(Color.red);

b0.addActionListener(new Bt()); b1=new Button("CE");

b1.setForeground(Color.red); b1.addActionListener(new Bt()); b2=new Button("C");

b2.setForeground(Color.red); b2.addActionListener(new Bt()); b3=new Button("MC");

b3.setForeground(Color.red); b3.addActionListener(new Bt()); b4=new Button("MR");

b4.setForeground(Color.red); b4.addActionListener(new Bt()); b5=new Button("MS");

b5.setForeground(Color.red); b5.addActionListener(new Bt()); b6=new Button("M+");

b6.setForeground(Color.red); b6.addActionListener(new Bt()); b7=new Button("7");

b7.setForeground(Color.blue); b7.addActionListener(new Bt()); b8=new Button("8");

b8.setForeground(Color.blue); b8.addActionListener(new Bt()); b9=new Button("9");

b9.setForeground(Color.blue); b9.addActionListener(new Bt());

b10=new Button("/");

b10.setForeground(Color.red); b10.addActionListener(new Bt());

b11=new Button("sqrt");

15个经典JAVA小程序集

import java.util.Scanner; public class Example1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);//输入一个数字 int score=sc.nextInt();//将数字放入整型score中 if(score>0)//if语句进行判断 { if(score>=90) { System.out.println("你很棒!"); } else if(score>=60&&score<90) { System.out.println("你很不错!"); } else System.out.println("你得加油!"); } else System.out.println("你输入的数字不正确!"); } } import java.util.Scanner; public class Example2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);//动态输入任意两个数int a=sc.nextInt();

int b=sc.nextInt(); if(a>b)//if语句比较大小 { System.out.println("你所输入的最大值:"+a); System.out.println("你所输入的最小值:"+b); } else if(a

一个简单的java窗体下载小程序(完整代码)

首先,这只是一个很简单的程序,所以大神请绕道。 心血来潮,用java编写了一个能访问http链接,并能下载文件的窗体小程序。实测能够正确下载17M的压缩包,图片,文档,html等。但是因为程序效率低下,于是没有继续测试更大的压缩文件(问题可能在于保存输入流到缓冲区的数组)。 程序已打包jar可执行文件,并将代码一齐打包到jar中。为方便使用jar,使用word 文档对象包装了它,将下面的对象(显示为一个图标)拖到桌面或者其他文件夹,即可得到该程序: java下载小程序.jar 也可以右击,激活内容,直接运行。 程序运行效果如图: 该测试链接来自pc6,下载结果为:

文件顺利打开。 程序主要使用了url访问http地址,并获取输入流,创建本地文件,输出读取的数据到本地文件中。其他部分则是窗体。 以下是全部代码: 同样是word对象,直接拖到桌面即可。 显示窗体的ui包: DownloadWin.java MainWin.java 分割字符串的util包: SplitString.java 监听事件的listener包: DownloadListener.java

其中,ui包: MainWin.java package 下载.ui; public class MainWin { public static void main(String[] args) { DownloadWin win = new DownloadWin("下载"); } } DownloadWin.java package 下载.ui; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import 下载.listener.DownloadListener; public class DownloadWin extends JFrame{ /** * */ private static final long serialVersionUID = -7226361346020458023L; private JTextField httpLine; private JTextField savePath; private JButton btnDownload; private JLabel lineLabel; private JLabel saveLabel; private static JLabel infoLabel; public DownloadWin(String title) { init();

java经典的小程序详尽代码

1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import Bissextile{ public static void main(String[] arge){ "请输入年份"); int year; .....+aaaaaaaaa=? 其中a为1至9之中的一个数,项数也要可以指定。 import Multinomial{ public static void main(String[] args){ int a; ...前20项之和? class Sum{ public static void main(Sting[] args){ double sum=0; double fenZi=, fenMu=; ..... 打印出第一个大于小于的值 class Pi { public static void main(String[] args){ double pi =0; .. fenMu += ; .. 每项递加2 } } } 输出结果为pi = ,应该不精确 12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和 ....的值。 a,求出前50项和值。 b,求出最后一项绝对值小于1e-5的和值。 15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下: * ***

***** ******* ********* 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。 class ArrayNumber{ public static void main(String[] args){ int[] arrayNumber; arrayNumber = new int[10]; "以下是随机的10个整数:"); 义一个int型的一维数组,包含10个元素,分别赋值为1~10,然后将数组中的元素都向前移一个位置, 即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。 3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, 将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来。 4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。 5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值 为5,4,3,2,1。 6,要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个 int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存到b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。 class Remain{ public static void main( String[] args){ int[] a = new int[100]; 约梭芬杀人法 把犯人围成一圈,每次从固定位置开始算起,杀掉第7个人,直到剩下最后一个。 11_2、用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,报到m 的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,求出所有人的出圈顺序。 12. 判断随机整数是否是素数 产生100个0-999之间的随机整数,然后判断这100个随机整数哪些是素数,哪些不是? public class PrimeTest{ public static void main(String args[]){ for(int i=0;i<100;i++){

java简单聊天小程序

网络编程java简单聊天小程序[下次修改成多线程的,这个必须等待对方输入结束,有机会修改成可视化窗口] By 刘汪洋 写入正确的ip地址即可正常用当然目前只停留在命令行界面 还没有写成可视化窗口界面 运行时请带上参数 如java TransServer 张三 Java TransClient 李四 ( 和刘正南在局域网试验的截图成功 这是修改后的 加上了姓名! ) (修改前的截图)

代码: 客户端: package com.baidu.chat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import https://www.wendangku.net/doc/5a6190260.html,.Socket; import https://www.wendangku.net/doc/5a6190260.html,.UnknownHostException; // 简单聊天小程序客户端 public class TransClient { public static void main(String[] args)

{ if(args[0]==null) args[0] = "他"; startClient(args[0]); } private static void startClient(String name) { Socket sk = null; BufferedReader bufr = null; try { sk = new Socket("127.0.0.1",10000);// 1 创建 socket服务 bufr = new BufferedReader(new InputStreamReader(System.in));// 2 获取录入键盘 PrintWriter out = new PrintWriter(sk.getOutputStream(),true);// 3 获取输出流true表示自动刷新 BufferedReader bufIn = new BufferedReader(new InputStreamReader(sk.getInputStream()));// 4 获取输入流 // 5 发送获取 String text_send = ""; String text_get = ""; String ServerName = ""; System.out.print("聊天已开启..."+"\r\n"+"我说:");

java经典小程序模板

JA V A经典小程序1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } } 2,给定一个百分制的分数,输出相应的等级。 90分以上A级 80~89 B级 70~79 C级 60~69 D级 60分以下E级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。

围棋(改进版)源代码-Java Applet小程序

/*一个Java围棋程序源代码改进版(2010-05-12 09:55:19)转载标签:杂谈*/ import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class Chess extends Frame { ChessPad chesspad= new ChessPad(); Chess() { add(chesspad); chesspad.setBounds(70,90,440,440); Label label=new Label("click to point,doubled_click to remove,right click to back",Label.CENTER); add(label); label.setBounds(70,55,440,24); label.setBackground(Color.orange); addWindowListener ( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); setLayout(null); setVisible(true); setSize(600,550); } public static void main(String args[]) { Chess chess=new Chess(); } } class ChessPad extends Panel implements MouseListener, ActionListener,FocusListener {

java小程序设计

课程设计报告 设计题目:用Java编的计算器 院系 班级 设计者 学号 指导教师 设计时间

前言: 通过上课学习了java程序设计的基本原理和模式,这次又以java语言为基本结合其图形应用界面来设计一个包括加、减、乘、除。还有带括号以及带负号、小数运算的计算程序。 系统功能和使用说明: 一.硬件环境: 本系统适用于现应用各种类型的计算机,内存容量为128MB以上,不必配备的外部附加设备。二.软件环境: 本系统的设计采用的是JAVA语言,应在JDK 5.0或者其更高版软件环境下本使用。 三.系统流程图: 1.下图是本程序的运行后的界面,其标注是此组件在程序中的名字 2.系统流程图中各个模块的功能说明: 本程序一共包括:构造方法A5i13w(),setup(), windowClosing(), actionPerformed(), appendchar(), countall(), counting(), Iscountnum()和一个windowcloser类。 (1). A5i13w()是构造方法,在程序创建其对象时就调用,初始化次程序的事件的监听机制。 (2). setup()是我定义的方法,是用来初始化程序的图形应用界面,由A5i13w()来调用。 (3). windowClosing()是用来响应用户的关闭功能。 (4). actionPerformed()是用来处理每个事件的响应的方法 (5). appendchar()方法的作用是在用户产生事件后向Textshow追加产生此事件的字符串 (6).countall()的意义是在用户按“=”号后,从最里层括号向最外层逐层把括号里的内容传递给counting()方法,并负责对括号本身是否符合数学语法要求进行检验。 (7).counting()方法的作用是首先对无括号的数学表达式有关的数学计算符号进行调整,并检验所有的数学符号,如发现错误的数学符号立即在Labelnow中显示出来。

Java应用程序和小程序的编写

Java应用程序和小程序的编写 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 一、实验项目名称 Java应用程序和小程序的编写 二、实验目的 熟练掌握JDK常用命令:javac、java、appletviewer; 熟悉Java编辑器jcreate或eclipse等 熟练掌握简单Java应用程序和小程序的编辑和运行的过程。 掌握java的输入输出方法 三、实验基本原理 根据结构组成和运行环境的不同,java程序可以分为两类:Java Application和Java Applet。Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行。 输入输出是程序的基本功能,图形用户界面简称“GUI”,是目前大多数应用程序使用的输入输出界面。它在图形模式下工作,具有操作简便、美观易懂的优点具有图形界面输入输出功能的应用程序需要工作在支持图形界面的操作系统中,Java Applet程序和Java Application程序都可以在图形界面中工作。 四、主要仪器设备及耗材 计算机一台、JDK和Eclipse软件包。 五、实验步骤 (1)将下载好的jdk软件包解压,进行安装。安装之后配置系统环境变量classpath。 (2)编写简单的java程序,使用javac命令进行编译,使用java命令进行运行。 (3)安装Eclipse软件并在Eclipse中编写java Application程序和Java Applet程序。 (4)图形界面输入输出代码: 习题2-2 实验程序: package student; public class ExerciseOne { public static void main(String[] args) { System.out.println("Welcome to Java World!"); } }

Java100个经典小程序

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 ============================================================== 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 ============================================================== 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。 ============================================================== 【程序4】 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 ============================================================== 【程序5】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 ============================================================== 【程序6】 题目:输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 ============================================================== 【程序7】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... ============================================================== 【程序8】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 ============================================================== 【程序9】 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 ============================================================== 【程序10】

一个Java小程序源代码

一个Java小程序源代码 一个Java小程序源代码(反转字符串) //BorderLayoutTest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.event.*; public class test1 { public static void main(String[] args) { cloneFrame frame = new cloneFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } } class cloneFrame extends JFrame { public cloneFrame() { setTitle("机试程序"); setSize(600, 400); JPanel buttonPanel = new JPanel(); buttonPanel.setBackground(new Color(56,43,85));

Button1 = new JButton("点击复制反转字符串"); Button1.addActionListener(new turnListener()); buttonPanel.add(Button1); JPanel textPanel = new JPanel(); textPanel.setBackground(new Color(100,100,100)); field1 = new JTextField("姓名:老孙;学号:2004132028", 20); field2 = new JTextField("反转", 20); field2.setEditable(false); textPanel.add(field1); textPanel.add(field2); JPanel tuPanel = new JPanel(); JLabel label = new JLabel(new ImageIcon("006.gif")); tuPanel.add(label); tuPanel.setBackground(new Color(100,100,100)); Container contentPane = getContentPane(); contentPane.add(buttonPanel, BorderLayout.SOUTH); contentPane.add(textPanel, BorderLayout.NORTH); contentPane.add(tuPanel, BorderLayout.CENTER); contentPane.setBackground(new Color(100,100,100)); } private class turnListener implements ActionListener { public void actionPerformed(ActionEvent event) {

java小程序代码

1.从键盘键入三个整数,然后按照从小到大的顺序将其输出。package test; import https://www.wendangku.net/doc/5a6190260.html,ng.reflect.Array; import java.util.Arrays; import java.util.Scanner; public class Bidx { public static void main(String[] args) { Scanner sca=new Scanner(System.in); int[] a=new int[3]; for(int i=0;i

java小程序

Java作业 09医学信息113200********* 徐旭辉 实验八 Java代码: publicclass EX8 { publicstaticvoid main(String[] args) { byte a=0; short b=0; int c=0; long d=0; float e=0f; double f=0d; String s="10"; a=Byte.parseByte(s); b=Short.parseShort(s); c=Integer.parseInt(s); d=Long.parseLong(s); e=Float.parseFloat(s); f=Double.parseDouble(s); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); int MyInt=1234; String MyString=""+MyInt; System.out.println(MyString); } } 运行结果:

Java代码: publicclass Ex13 { publicstaticvoid main(String[] args) { int i=100; int s=0; do{ s=s+i; i--; } while(i>0); System.out.println("100+99+98+……+2+1="+s); } } 运行结果:

Java小程序代码

Java小程序代码 /**第一个程序*/ public class Welcome { public static void main(String[] args) { System.out.println("这是你的第一个程序,欢迎你走入Java的大门"); } } /**学生信息导入*/ class StudentTest { public static void main(String[] args) { Student aStudent = new Student(); aStudent.setName("张楠"); aStudent.setStudentNum("20030408"); System.out.println("学生的姓名是:" + aStudent.getName() + ",学号是:" + aStudent.getStudentNum()); } } class People {

private String name; public String getName(){ return name; } public void setName(String strName) { name = strName; } } class Student extends People { private String studentNum; public String getStudentNum() { return studentNum; } public void setStudentNum(String strStudentNum) { studentNum = strStudentNum; } } /**移位运算符测试 */ public class BitMotion {

java趣味小程序(一)

/** 大家好,我现在正在学习java,虽然在这之前我已经学习过一遍了,但是现在再重新来学,才发现以前学的太肤浅了,而且学的质量也很不好,所以,现在我又重新站在了新的起跑线上,开始了我的java学习之旅,喜欢java的朋友和想学习java的朋友来和我一起前进吧。我会及时的把自己学的一些东西总结出来,并传送到文库中和大家一起分享的。所以Make The Change的时候到了,Everyone,Come On!(我的QQ号jiaziming1990@https://www.wendangku.net/doc/5a6190260.html,,愿意交流的同学可以加我呦) */ /* 1、经典数学问题:百鸡问题的变形 题目描述:有36个人,36块砖,每人搬了一次,正好搬完。其中男每人每次搬4块,女每人每次搬3块,两人每次搬一块。问男、女、小孩各多少人? */ public class TestBrick { public static void main(String[] args) { int manNum=0; int womanNum=0; for(int i=0;i<=9;i++){

for(int j=0;j<12;j++){ if(((i*4+j*3+(36-i-j)/2)==36)&&((36-i-j)% 2==0)){ //注意:孩子的人数必须是偶数,否则会出现一个孩子一次也没有搬的情况,不符合题意 manNum=i; womanNum=j; System.out.println("男的的人数是"+manNum); System.out.println("女的的人数是"+womanNum); System.out.println("孩子的人数是"+(36-manNum-womanNum)); } } } } /* 2、倒计时的算法:输入一个秒数,要求转换为XX小时XX 分XX秒的格式输出出来; */ import java.util.Scanner;

50个java小程序设计

50个java小程序 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a> b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为 '\n '. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如 2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程找出1000以内的所有完数。 【程序10】

Java小程序文件复制

Java小程序——文件复制 1.软件运行界面 2.复制文件语法公式 在源文件输入“E:\Winrar.java” 目的文件(你想要复制到的地方):“E:\ybf.java”,在E盘的根目录下将生成文件ybf.java(若已经存在,则提示出错)。 操作前:

复制后: 3.源代码: Mainsunliping.java import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JFrame; public class Mainsunliping extends JFrame implements ActionListener { SunLiPing s; private JLabel l1; private JLabel l2; private JLabel l3; private static JTextField jf1; private static JTextField jf2; private JButton b1; private JButton b2; public Mainsunliping(){ super(); setLayout(null); l1=new JLabel("源文件:"); l1.setBounds(60,60,60,26);

this.add(l1); l2=new JLabel("目的文件:"); l2.setBounds(47,90,60,26); this.add(l2); l3=new JLabel("Sun Li Ping"); l3.setBounds(90,170,250,26); this.add(l3); jf1=new JTextField(); jf1.setBounds(110,60,120,26); this.add(jf1); jf2=new JTextField(); jf2.setBounds(110,90,120,26); this.add(jf2); b1=new JButton("复制"); b1.setBounds(95,140,60,26); b1.addActionListener(this); this.add(b1); b2=new JButton("取消"); b2.setBounds(180,140,60,26); b2.addActionListener(this); this.add(b2); this.setTitle("文件复制");//设置窗体标题 this.setResizable(false);//设置窗体不让用户调整大小 this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setBounds(100,100,350,250);//设置窗体的大小 this.setVisible(true);//设置窗体的可见性 } public void clear(){//清空输入框的信息;并把输入焦点到源文件jf1.setText(""); jf2.setText(""); jf1.requestFocus(); } public void actionPerformed(ActionEvent e) {

JAVA期末小程序题目

Java期末小程序题目及考核办法 选题原则: 1、所有以下题目,至多有7个组可以选相同的题目,超 过7个组则另选其他题目。为了使每个题目都有被选的可能。 也防止大范围的雷同。所选题目及组合(两人一组)报到QQjava资料群,按先报先得的原则决定题目归属哪个组。从15周周五8点开始选题。 2、两人一组,自由组合,任选以上题目中一个完成设计 (PPT答辩时体现)及代码编写。ppt中说明自己主要负责的工作(①写代码②制作ppt) 一、总体要求: 本次程序设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JA V A的应用系统综合实例,来掌握Java语言编程技巧。对于图形用户界面的开发,可在eclipse里加入第三方的的界面设计插件实现,减小开发难度。如:SWT Designer(WindowBuilder Pro ) 二、参考题目及要求: 1、编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2、模拟龟兔赛跑 要求: 用图形用户界面实现。 能设置比赛时间,龟兔的数量等。 在任意时间段内兔子的速度是随机的,但比乌龟的速度快。 开始比赛之后以动画显示赛跑过程。 提示:使用多线程

3、学生信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个学生信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 提示:使用jdbc技术 4、图书信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个图书信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 提示:使用jdbc技术 5、聊天小程序 要求: 使用图形用户界面。 能实现一个聊天室中多人聊天。 可以两人私聊。 提示:使用socket通信 6、ATM柜员机模拟程序 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 1、查询余额:初始余额为10000元 2、A TM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 3、A TM存款:不能出现负存款。 4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 7、超市收银系统 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。 8、万年历 要求: 使用图形用户界面。 实现日期与星期的查询

相关文档