long timeTwo=【代码5】 //calendar表示的时间转换成毫秒。 Date date1=【代码6】 // 用timeOne做参数构造date1 Date date2=【代码7】 // 用timeTwo做参数构造date2 if(date2.equals(date1)) {
System.out.println(\两个日期的年、月、日完全相同\ }
else if(date2.after(date1)) {
System.out.println(\您输入的第二个日期大于第一个日期\ }
else if(date2.before(date1)) {
System.out.println(\您输入的第二个日期小于第一个日期\ }
long days=【代码8】//计算两个日期相隔天数
System.out.println(yearOne+\年\月\日和\
+yearTwo+\年\月\相隔\天\ } }
实验3 处理大整数
模板代码
BigintegerExample
import java.math.*; class BigIntegerExample {
public static void main(String args[])
{ BigInteger n1=new BigInteger(\ n2=new BigInteger(\ result=null;
result=【代码1】//n1和n2做加法运算 System.out.println(\和:\ result=【代码2】//n1和n2做减法运算 System.out.println(\差:\ result=【代码3】//n1和n2做乘法运算 System.out.println(\积:\ result=【代码4】//n1和n2做除法运算 System.out.println(\商:\ BigInteger m=new BigInteger(\ COUNT=new BigInteger(\ ONE=new BigInteger(\
26
TWO=new BigInteger(\
System.out.println(m.toString()+\的因子有:\
for(BigInteger i=TWO;i.compareTo(m)<0;i=i.add(ONE)) { if((n1.remainder(i).compareTo(BigInteger.ZERO))==0) { COUNT=COUNT.add(ONE);
System.out.print(\ } }
System.out.println(\
System.out.println(m.toString()+\一共有\个因子\ } }
上机实践6 组件及事件处理
实验1 算术测试
模板代码 Teacher.java
public class Teacher { int numberOne,numberTwo; String operator=\ boolean right;
public int giveNumberOne(int n) { numberOne=(int)(Math.random()*n)+1; return numberOne; }
public int giveNumberTwo(int n)
{ numberTwo=(int)(Math.random()*n)+1;
return numberTwo; }
public String giveOperator() { double d=Math.random(); if(d>=0.5) operator=\ else
operator=\
return operator;
}
public boolean getRight(int answer) { if(operator.equals(\
27
{ if(answer==numberOne+numberTwo) right=true; else
right=false;
}
else if(operator.equals(\ { if(answer==numberOne-numberTwo) right=true; else
right=false; }
return right;
}
}
ComputerFrame.java
import java.awt.*; import java.awt.event.*;
public class ComputerFrame extends Frame implements ActionListener { TextField textOne,textTwo,textResult; Button getProblem,giveAnwser; Label operatorLabel,message; Teacher teacher; ComputerFrame(String s) { super(s);
teacher=new Teacher(); setLayout(new FlowLayout());
textOne=【代码1】 //创建textOne,其可见字符长是10 textTwo=【代码2】 //创建textTwo,其可见字符长是10 textResult=【代码3】 //创建textResult,其可见字符长是10 operatorLabel=new Label(\ message=new Label(\你还没有回答呢\ getProblem=new Button(\获取题目\ giveAnwser=new Button(\确认答案\ add(getProblem); add(textOne); add(operatorLabel); add(textTwo); add(new Label(\ add(textResult); add(giveAnwser); add(message);
textResult.requestFocus(); textOne.setEditable(false); textTwo.setEditable(false);
28
【代码4】//将当前窗口注册为getProblem的ActionEvent事件监视器 【代码5】//将当前窗口注册为giveAnwser的ActionEvent事件监视器
【代码6】//将当前窗口注册为textResult的ActionEvent事件监视器 setBounds(100,100,450,100); setVisible(true); validate();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e) { System.exit(0); } } ); }
public void actionPerformed(ActionEvent e) { if(【代码7】) //判断事件源是否是getProblem { int number1=teacher.giveNumberOne(100); int number2=teacher.giveNumberTwo(100); String operator=teacher.givetOperator(); textOne.setText(\ textTwo.setText(\ operatorLabel.setText(operator); message.setText(\请回答\
textResult.setText(null);
}
if(【代码8】) //判断事件源是否是giveAnwser { String answer=textResult.getText(); try{
int result=Integer.parseInt(answer); if(teacher.getRight(result)==true) { message.setText(\你回答正确\ } else
{ message.setText(\你回答错误\ } }
catch(NumberFormatException ex)
{ message.setText(\请输入数字字符\ } }
textResult.requestFocus(); validate(); } }
MainClass.java
29
public class MainClass
{ public static void main(String args[]) { ComputerFrame frame;
frame=【代码9】//创建窗口,其标题为:算术测试 } }
实验2 信号灯
2.模板代码 SignalCanvas.java
import java.awt.*;
public class SignalCanvas extends Canvas { int red,green,yellow,x,y,r; SignalCanvas()
{ setBackground(Color.white); }
public void setRed(int r) { red=r; }
public void setGreen(int g) { green=g; }
public void setYellow(int y) { yellow=y; }
public void setPosition(int x,int y) { this.x=x; this.y=y; }
public void setRadius(int r) { this.r=r; }
public void paint(Graphics g) { if(red==1)
{ g.setColor(Color.red); }
else if(green==1)
{ g.setColor(Color.green); }
else if(yellow==1)
{ g.setColor(Color.yellow); }
30