「java小程序实例」java实用小程序

博主:adminadmin 2022-11-22 06:32:10 46

本篇文章给大家谈谈java小程序实例,以及java实用小程序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用Java编写一个绘制图形的小程序

import java.awt.*;

import java.awt.event.*;

import java.awt.geom.*;

import javax.swing.*;

//不规则图形的绘制

public class IrregularShapeDemo extends JFrame {

GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例

Point aPoint;

//构造函数

public IrregularShapeDemo() {

super("不规则图形的绘制"); //调用父类构造函数

enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件

setSize(300, 200); //设置窗口尺寸

setVisible(true); //设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序

}

public void paint(Graphics g) { //重载窗口组件的paint()方法

Graphics2D g2D = (Graphics2D)g; //获取图形环境

g2D.draw(gPath); //绘制路径

}

public static void main(String[] args) {

new IrregularShapeDemo();

}

protected void processMouseEvent(MouseEvent e) { //鼠标事件处理

if(e.getID() == MouseEvent.MOUSE_PRESSED) {

aPoint = e.getPoint(); //得到当前鼠标点

gPath = new GeneralPath(); //重新实例化GeneralPath对象

gPath.moveTo(aPoint.x,aPoint.y); //设置路径点

}

}

protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理

if(e.getID() == MouseEvent.MOUSE_DRAGGED) {

aPoint = e.getPoint(); //得到当前鼠标点

gPath.lineTo(aPoint.x, aPoint.y); //设置路径

gPath.moveTo(aPoint.x, aPoint.y);

repaint(); //重绘组件

}

}

}

「java小程序实例」java实用小程序

用JAVA编写一个小程序 比如拼图游戏 推箱子 猜数字 。。。。。。请附详细注释 因为要发表 谢谢大家!

我写的一个猜数字游戏,希望对你有用,代码如下:

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class GuessNumber {

static int trys, A, B;

static String r, t;

public static int[] MakeGuessNumber(){//随机生成一个无重复数字的四位数

Random r = new Random();

int guess[] = new int[4];

for(int i=0; i4; i++){

guess[i] = r.nextInt(10);

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

if(guess[i]==guess[j]){

i--;

break;}

}

}

return guess;

}

public static String getRundom(){//将此四位数转化为字符串

int guess[]=MakeGuessNumber();

return ""+guess[0]+guess[1]+guess[2]+guess[3];

}

public static void messageDialog(Object o){

JOptionPane.showMessageDialog(null, o);

}

public static void guessNumber(){//主要算法实现部分

r=getRundom();

//System.out.println(r);

JFrame jf=new JFrame();

JButton b1=new JButton("新游戏");

JLabel l1=new JLabel("输入:");

final JTextField jtf=new JTextField(10);

JButton b2=new JButton("提交");

final JTextArea jta=new JTextArea(10,10);

jta.append(" "+"Guess"+" "+"Result"+"\n");

JScrollPane scrollPane=new JScrollPane(jta);

JPanel jp1=new JPanel();

jp1.add(l1);

jp1.add(jtf);

jp1.add(b2);

jf.add(b1,BorderLayout.NORTH);

jf.add(jp1,BorderLayout.CENTER);

jf.add(scrollPane,BorderLayout.SOUTH);

b1.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

trys=0;

A=0;

B=0;

jta.setText(" "+"Guess"+" "+"Result"+"\n");

jtf.setText("");

r=getRundom();

//System.out.println(r);

}

});

b2.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

t=jtf.getText();

A=0;

B=0;

if(t.length()!=4||t.substring(0, 1).equals(t.substring(1, 2))

||t.substring(0, 1).equals(t.substring(2, 3))

||t.substring(0, 1).equals(t.substring(3, 4))

||t.substring(1, 2).equals(t.substring(2, 3))

||t.substring(1, 2).equals(t.substring(3, 4))

||t.substring(2, 3).equals(t.substring(3, 4))

||!t.matches("[0-9]*"))

messageDialog("Wrong Input!");

else{

jtf.setText("");

trys++;

if(t.substring(0, 1).equals(r.substring(0, 1)))

A++;

if(t.substring(0, 1).equals(r.substring(1, 2)))

B++;

if(t.substring(0, 1).equals(r.substring(2, 3)))

B++;

if(t.substring(0, 1).equals(r.substring(3, 4)))

B++;

if(t.substring(1, 2).equals(r.substring(1, 2)))

A++;

if(t.substring(1, 2).equals(r.substring(0, 1)))

B++;

if(t.substring(1, 2).equals(r.substring(2, 3)))

B++;

if(t.substring(1, 2).equals(r.substring(3, 4)))

B++;

if(t.substring(2, 3).equals(r.substring(2, 3)))

A++;

if(t.substring(2, 3).equals(r.substring(0, 1)))

B++;

if(t.substring(2, 3).equals(r.substring(1, 2)))

B++;

if(t.substring(2, 3).equals(r.substring(3, 4)))

B++;

if(t.substring(3, 4).equals(r.substring(3, 4)))

A++;

if(t.substring(3, 4).equals(r.substring(0, 1)))

B++;

if(t.substring(3, 4).equals(r.substring(1, 2)))

B++;

if(t.substring(3, 4).equals(r.substring(2, 3)))

B++;

jta.append(trys+" "+t+" "+A+"A"+B+"B"+"\n");

if(A==4){

if(trys=4)

messageDialog("You win after "+trys+" trys!");

else if(trys=3)

messageDialog("You win after only "+trys+" trys!");

}

}

}

});

jf.setSize(300, 300);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String args[]){

guessNumber();

}

}

我没有进行详细注释,这个程序挺好理解的,你可以自己再看一下

编写一个JAVA小程序,从键盘输入3个数,求这三个数的最大值&最小值. (显示要用对话框)

这是运行效果

上代码:

package com.sh.lw;

import java.awt.event.ActionEvent;

import java.awt.event.WindowEvent;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

public class TestFrame extends JFrame {

/**

  * 

  */

 private static final long serialVersionUID = -3792557927147777060L;

 private javax.swing.JTextField field0 = new javax.swing.JTextField(20);

 private javax.swing.JTextField field1 = new javax.swing.JTextField(20);

 private javax.swing.JTextField field2 = new javax.swing.JTextField(20);

 private javax.swing.JTextField field3 = new javax.swing.JTextField(20);

 

 private javax.swing.JButton max = new javax.swing.JButton("最大值");

 private javax.swing.JButton min = new javax.swing.JButton("最小值");

 

 

 int num1,num2,num3;

 

 public TestFrame(){

  java.awt.GridBagLayout layout = new java.awt.GridBagLayout();

  java.awt.GridBagConstraints gbc = new java.awt.GridBagConstraints();

 

 

  javax.swing.JPanel panel = new javax.swing.JPanel();

 

  panel.setLayout(layout);

 

  javax.swing.JLabel lable0 = new javax.swing.JLabel("第一个数:");

 

 

  layout.setConstraints(lable0, gbc);

  panel.add(lable0);

 

  this.add(panel);

 

 

  gbc.gridwidth = java.awt.GridBagConstraints.REMAINDER;

  layout.setConstraints(field0, gbc);

  panel.add(field0);

 

 

  javax.swing.JLabel label1 = new javax.swing.JLabel("第二个数:");

 

 

  gbc.gridwidth = java.awt.GridBagConstraints.RELATIVE;

  layout.setConstraints(label1, gbc);

  panel.add(label1);

 

  gbc.gridwidth = java.awt.GridBagConstraints.REMAINDER;

  layout.setConstraints(field1, gbc);

  panel.add(field1);

 

  javax.swing.JLabel label2 = new javax.swing.JLabel("第三个数:");

 

 

  gbc.gridwidth = java.awt.GridBagConstraints.RELATIVE;

  layout.setConstraints(label2, gbc);

  panel.add(label2);

 

 

  gbc.gridwidth = java.awt.GridBagConstraints.REMAINDER;

  layout.setConstraints(field2, gbc);

  panel.add(field2);

 

  javax.swing.JLabel lable3 = new javax.swing.JLabel("结果:");

 

 

  gbc.gridwidth = java.awt.GridBagConstraints.RELATIVE;

  layout.setConstraints(lable3, gbc);

  panel.add(lable3);

 

  gbc.gridwidth = java.awt.GridBagConstraints.REMAINDER;

  layout.setConstraints(field3, gbc);

  panel.add(field3);

 

 

 

 

  gbc.gridwidth = java.awt.GridBagConstraints.RELATIVE;

  layout.setConstraints(max, gbc);

  panel.add(max);

 

  gbc.gridwidth = java.awt.GridBagConstraints.REMAINDER;

  layout.setConstraints(min, gbc);

  panel.add(min);

 

  this.setVisible(true);

  this.pack();

  this.setResizable(false);

 

  max.addActionListener(new ButtonListener());

  min.addActionListener(new ButtonListener());

  field3.setEditable(false);

  this.addWindowListener(new MyWindowClosing());

 }

 

 class MyWindowClosing extends java.awt.event.WindowAdapter{

  @Override

  public void windowClosing(WindowEvent e) {

   java.lang.System.exit(0);

  }

 }

 

 class ButtonListener implements java.awt.event.ActionListener{

@Override

  public void actionPerformed(ActionEvent e) {

   String text0 = field0.getText();

   String text1 = field1.getText();

   String text2 = field2.getText();

   

   if(null == text0 || "".equals(text0.trim())){

    JOptionPane.showMessageDialog(null, "请输入第一个数!");

    return;

   }else{

    try{

    num1 = Integer.parseInt(text0.trim());

    }catch(java.lang.NumberFormatException ne){

     JOptionPane.showMessageDialog(null, "第一个数必须为数字!");

     return;

    }

   }

   

   if(null == text1 || "".equals(text1.trim())){

    JOptionPane.showMessageDialog(null, "请输入第二个数!");

    return;

   }else{

    try{

     num2 = Integer.parseInt(text1.trim());

     }catch(java.lang.NumberFormatException ne){

      JOptionPane.showMessageDialog(null, "第二个数必须为数字!");

      return;

     }

   }

   

   if(null == text2 || "".equals(text2.trim())){

    JOptionPane.showMessageDialog(null, "请输入第三个数!");

    return;

   }else{

    try{

     num3 = Integer.parseInt(text2.trim());

     }catch(java.lang.NumberFormatException ne){

      JOptionPane.showMessageDialog(null, "第三个数必须为数字!");

      return;

     }

   }

   

   

   Object source = e.getSource();

   int arr[] = new int[]{num1,num2,num3};

   

   int result = arr[0];

   if(source == max){

    for(int i=1; iarr.length; i++){

      if(arr[i]  result){

       result = arr[i];

      }

    } 

   }else if(source == min){

    for(int i=1; iarr.length; i++){

     if(arr[i]  result){

      result = arr[i];

     }

    }

   

   }

   field3.setText(new Integer(result).toString());

  }

 

 }

 

 public static void main(String[] args) {

  new TestFrame();

 }

 

}

用Java写个小程序:创建银行账号类SavingAccount,利用静态变量存储年利率,利用私有实例变量存储存款额,

import java.util.Scanner;

public class SavingAccount {

public static double account = 3000;

public static double rate = 0.03;

public void update(double rate){

this.rate = rate;

}

//flag 用来计算年利息和月利息,flag等true计算月利息

public double calc(double account , double rate , boolean flag){

if(flag)

return account * rate / 12;

return account * rate;

}

static class Test{

public static void main(String[] args) {

System.out.println("原始存款:"+SavingAccount.account + " \n原始利率:" +SavingAccount.rate );

SavingAccount sa = new SavingAccount();

System.out.println("原始年利息:"+sa.calc(SavingAccount.account,SavingAccount.rate,false));

System.out.println("原始月利息:"+sa.calc(SavingAccount.account,SavingAccount.rate,true));

System.out.println("######请输入新的利率######");

Scanner scanner = new Scanner(System.in);

sa.update(scanner.nextDouble());

System.out.println("更新后的利率:"+SavingAccount.rate);

System.out.println("更新后的年利息:"+sa.calc(SavingAccount.account,SavingAccount.rate,false));

System.out.println("更新后的月利息:"+sa.calc(SavingAccount.account,SavingAccount.rate,true));

//更新后的存款怎么算? 你是多长时间更新一次?

System.out.println("更新后的存款:"+(SavingAccount.account+sa.calc(SavingAccount.account,SavingAccount.rate,false)));

}

}

}

不知道对不对,我理解的是这样的了

用JAVA制作一个小程序,计算两个数的加减乘除,用Applet实现

下面两个可以么,是我做实验答辩时用到的!

import java.awt.*;//AWT核心包

import java.awt.event.*;//提供事件类和监听器

public class Counter extends Frame implements ActionListener

{

TextField t=new TextField("");//文本框

Panel p1=new Panel();//new一个panel,用于存放数字键和符号键。

Panel p2=new Panel();//new一个panel,用于存放开方、平方、和清除键。

Button[] b=new Button[10];//实例化Button对象

Button bAdd=new Button("加");

Button bSub=new Button("减");

Button bMul=new Button("乘以");

Button bPoint=new Button(".");

Button bDiv=new Button("除以");

Button bEqual=new Button("等於");

Button bSqrt=new Button("开方");

Button bPow=new Button("平方");

Button bNull=new Button("清除");

String str1=""; //str1和str2存放两个输入的数

String str2="";

String operator=null; //存放加减乘除以及开平方的符号

boolean first=true; //检验输入的是否为第一个数

int countOper=0; //累计输入符号的个数,连加连减等操作中会用到

double result=0.0; //暂存结果

double num1=0.0,num2=0.0; //两个输入的数做运算时转化为double存放

boolean error=false; //检验除数是否为0

//构造方法

public Counter()

{

Frame s=new Frame("计算器");//创建Frame

for(int i=0;i10;i++)//利用for循环将数字键添加进p1中

{

b[i]=new Button(String.valueOf(i));

p1.add(b[i]);

b[i].setActionCommand("number");

b[i].setForeground(new Color(150,20,20));

b[i].addActionListener(this);//调用addActionListener()方法注册事件监听器

}

p1.add(bPoint);

bPoint.setActionCommand("number");

p1.add(bAdd); //数字键,符号键放置在panel的p1中

p1.add(bSub);

p1.add(bMul);

p1.add(bDiv);

p1.add(bEqual);

p2.add(bSqrt);//开方键,平方键,清除键放置在panel的p2中

p2.add(bPow);

p2.add(bNull);

bAdd.setActionCommand("oper");

bSub.setActionCommand("oper");

bMul.setActionCommand("oper");

bDiv.setActionCommand("oper");

bAdd.setForeground(Color.red);//为组键设计颜色

bSub.setForeground(Color.red);

bMul.setForeground(Color.red);

bDiv.setForeground(Color.red);

bPoint.setForeground(Color.black);

bEqual.setForeground(Color.red);

bSqrt.setForeground(Color.blue);

bPow.setForeground(Color.blue);

bNull.setForeground(Color.blue);

bAdd.addActionListener(this);//调用addActionListener()方法注册事件监听器

bSub.addActionListener(this);

bMul.addActionListener(this);

bDiv.addActionListener(this);

bPoint.addActionListener(this);

bEqual.addActionListener(this);

bSqrt.addActionListener(this);

bPow.addActionListener(this);

bNull.addActionListener(this);

p1.setLayout(new GridLayout(4,4,5,5));//网格布局管理器,把容器根据行数和列数分成同样大小的单元,

//每个单元可容纳一个组件,并且此组件会填满网格单元,不能控

//制其占据网格的大小。4、4为网格的行、列数。5、5为组建之间的

//间距

p2.setLayout(new FlowLayout());//用FlowLayout布局管理器将组建默认剧中排放,默认间隙为5个像素

add(t,"North"); //frame的north放置输入框,panel放置在center和south

add(p1,"Center");//将p1添加到Center中

add(p2,"South");//将p2添加到South中

setLocation(400,200);//设计按钮尺寸

setSize(200,200);//设计窗口尺寸

setBackground(new Color(20,200,10));//设置Frame的背景,默认为白色

setVisible(true);//设置Frame设置为可见

addWindowListener(new WindowAdapter(){ //关闭窗口功能

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

//实现接口ActionListener

public void actionPerformed(ActionEvent e)

{

Button temp=(Button)e.getSource();

if(e.getActionCommand().equals("number"))

{

if(first)

{

str1=str1+temp.getLabel();

t.setText(str1);//将输入的str1显示在文本框中

}

else

{

str2=str2+temp.getLabel();

t.setText(str2);//将输入的str2显示在文本框中

}

}

else if(e.getActionCommand().equals("oper"))

{

if(str1=="") //如果还没有输入数就点击运算符执行if

{

countOper=0;//若此,则将计数清零

first=true;

}

else

{

countOper++;//计算输入符号的个数

if(countOper1)//若输入的符号个数多余一个,则可以进行计算

{

getResult();

}

operator=temp.getLabel();//存放加减乘除以及开方、平方的符号

first=false;

}

}

else if(e.getActionCommand().equals("开方"))

{

double d=Math.sqrt(Double.parseDouble(str1));

str1=String.valueOf(d);//将计算出来的结果再次传给str1,为连计算准备

t.setText(String.valueOf(d));//将计算出来的结果传至文本框中

first=false;//置为false,即已输入第一个数

}

else if(e.getActionCommand().equals("平方"))

{

double f=Math.pow(Double.parseDouble(str1),2);

str1=String.valueOf(f);

t.setText(String.valueOf(f));

first=false;

}

else if(e.getActionCommand().equals("清除"))

{

str1="";//清空

str2="";

t.setText("");//将文本框清空

countOper=0;//将按键计数器清零

first=true;

error=false;

}

else if(e.getActionCommand().equals("等於"))

{

if((str1=="")||(str2=="")) //两个数没有输全就点击等号,执行if

{

countOper=0;//将按键计数器清零

first=true;

}

else

{

getResult();

countOper=0;

}

}

}

//运算结果的方法

public void getResult()

{

num1=Double.parseDouble(str1);

num2=Double.parseDouble(str2);

if(operator.equals("加"))

{

result=num1+num2;

}

else if(operator.equals("减"))

{

result=num1-num2;

}

else if(operator.equals("乘以"))

{

result=num1*num2;

}

else if(operator.equals("除以"))

{

if(num2==0.0) //除数为0的处理方法

{

error=true;

}

else

{

result=num1/num2;

}

}

if(error)

{

t.setText("error");

}

else

{

t.setText(String.valueOf(result));

str1=String.valueOf(result); //运算后把结果放入str1中,str2清空,为连加连减等操作做准备

str2="";

}

}

//主方法

public static void main(String[] args)

{

new Counter();//创建一个对象"计算器"

}

}

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class CalculatorPanel extends JPanel

implements ActionListener

{ public CalculatorPanel()

{ setLayout(new BorderLayout());

display = new JTextField("0");

display.setEditable(false);

add(display, "North");

JPanel p = new JPanel();

p.setLayout(new GridLayout(4, 4));

String buttons = "789/456*123-0.=+";

for (int i = 0; i buttons.length(); i++)

addButton(p, buttons.substring(i, i + 1));

add(p, "Center");

}

private void addButton(Container c, String s)

{ JButton b = new JButton(s);

c.add(b);

b.addActionListener(this);

}

public void actionPerformed(ActionEvent evt)

{ String s = evt.getActionCommand();

if ('0' = s.charAt(0) s.charAt(0) = '9'

|| s.equals("."))

{ if (start) display.setText(s);

else display.setText(display.getText() + s);

start = false;

}

else

{ if (start)

{ if (s.equals("-"))

else op = s;

}

else

{ calculate(Double.parseDouble(display.getText()));

op = s;

start = true;

}

}

}

public void calculate(double n)

{ if (op.equals("+")) arg += n;

else if (op.equals("-")) arg -= n;

else if (op.equals("*")) arg *= n;

else if (op.equals("/")) arg /= n;

else if (op.equals("=")) arg = n;

display.setText("" + arg);

}

private JTextField display;

private double arg = 0;

private String op = "=";

private boolean start = true;

}

public class CalculatorApplet extends JApplet

{ public void init()

{ Container contentPane = getContentPane();

contentPane.add(new CalculatorPanel());

}

}

java一个简单小程序,求高手帮忙编写,万分感谢

class Ball {

public void play() {

System.out.println("玩球儿...");

}

}

class Football extends Ball {

public void play() {

System.out.println("使用足球运动");

}

}

class Basketball extends Ball {

public void play() {

System.out.println("使用篮球运动");

}

}

public class TestMain {

public static void main(String[] args) {

TestMain tm = new TestMain();

tm.testPlay();

}

public void testPlay() {

Ball ball = new Football();

ball.play();

ball = new Basketball();

ball.play();

}

}

/*

D:\javac TestMain.java

D:\java TestMain

使用足球运动

使用篮球运动

*/

java小程序实例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实用小程序、java小程序实例的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。