1、java上机实践567上机实践5 字符串、时间与数字实验 1 String类的常用方法1.实验目的 掌握String类的常用方法2.实验要求 编写一个java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串。3.程序源代码 public class StringExample public static void main(String args) String s1=new String(you are a student); Strin
2、g s2=new String(how are you); if(s1.equals(s2) System.out.println(s1与s2相同); else System.out.println(s1与s2不同); String s3=new String(22030219851022024); if(s3.startsWith(220302); System.out.println(吉林省的身份证); String s4=new String(你),s5=new String(我); if(pareTo(s5)0) System.out.println(按字典顺序s4大于s5); els
3、e System.out.println(按字典顺序s4小于s5); int position=0; String path=c:javajspA.java; position=path.lastIndexOf(); System.out.println(c:javajspA.java中最后出现的位置:+position); String fileName=path.substring(12,18); System.out.println(c:javajspA.java中含有的文件名:+fileName); String s6=new String(100); String s7=new St
4、ring(123.678); int n1=Integer.parseInt(s6); double n2=Double.parseDouble(s7); double m=n1+n2; System.out.println(m); String s8=String.valueOf(m); position=s8.indexOf(.); String temp=s8.substring(position+1); System.out.println(数字+m+有+temp.length()+位小数); String s9=new String(ABCDEF); char a=s9.toChar
5、Array(); for(int i=a.length-1;i=0;i-) System.out.print( +ai); 4.程序运行结果s1与s2不同吉林省的身份证按字典顺序s4小于s5c:javajspA.java中最后出现的位置:11c:javajspA.java中含有的文件名:A.java223.678数字223.678有3位小数 F E D C B A实验2 比较日期的大小1.实验目的掌握Date类以及Calendar类的常用方法2.实验要求编写一个Java应用程序,用户从输入对话框输入两个日期,程序将判断两个日期的大小关系,以及两个日期之间的间隔天数。3.程序源代码import
6、java.util.*;import javax.swing.JOptionPane;public class DateExample public static void main(String args) String str=JOptionPane.showInputDialog(输入第一个日期的年份:); int yearOne=Integer.parseInt(str); str=JOptionPane.showInputDialog(输入该年的月份:); int monthOne=Integer.parseInt(str); str=JOptionPane.showInputDia
7、log(输入该月份的日期:); int dayOne=Integer.parseInt(str); str=JOptionPane.showInputDialog(输入第二个日期的年份); int yearTwo=Integer.parseInt(str); str=JOptionPane.showInputDialog(输入该年的月份); int monthTwo=Integer.parseInt(str); str=JOptionPane.showInputDialog(输入该月份的日期); int dayTwo=Integer.parseInt(str); Calendar calend
8、ar=Calendar.getInstance(); calendar.set(yearOne, monthOne,dayOne); long timeOne=calendar.getTimeInMillis(); calendar.set(yearTwo,monthTwo,dayTwo); long timeTwo=calendar.getTimeInMillis(); Date date1=new Date(timeOne); Date date2=new Date(timeTwo); if(date2.equals(date1) System.out.println(两个日期的年、月、日
9、完全相同); else if(date2.after(date1) System.out.println(您输入的第二个日期大于第一个日期); else if(date2.before(date1) System.out.println(您输入的第二个日期小于第一个日期); long days=(timeTwo-timeOne)/(1000*60*60*24); System.out.println(yearOne+年+monthOne+月+dayOne+日和+yearTwo+年 +monthTwo+月+dayTwo+相隔+days+天); 您输入的第二个日期大于第一个日期 2006年6月6日
10、和2008年8月3日相隔789天实验3 处理大整数1.实验目的 掌握BigInteger类的常用方法2.实验要求 编写一个Java应用程序,计算两个大整数的和、差、积和商,并计算一个大整数的因子个数(因子中不包括1和大整数本身)。3.程序源代码import java.math.*;public class BigIntegerExa /* * param args */ public static void main(String args) / TODO Auto-generated method stub BigInteger n1=new BigInteger(9876543219876
11、54321); BigInteger n2=new BigInteger(123456789123456789); BigInteger result=null; result=n1.add(n2); System.out.println(和:+result.toString(); result=n1.subtract(n2); System.out.println(差:+result.toString(); result=n1.multiply(n2); System.out.println(积:+result.toString(); result=n1.divide(n2); System
12、.out.println(商:+result.toString(); BigInteger m=new BigInteger (”1968957); BigInteger CONUT=new BigInteger(0); BigInteger ONE=new BigInteger(1); BigInteger TWO=new BigInteger(2); System.out.println(m.toString()+的因子有:); for(BigInteger i=TWO;pareTo(m)=0.5) operator=+; else operator=-; return operator;
13、 public boolean getRight(int answer) if(operator.equals(+) 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.javaimport java.awt.*;import java.awt.event.*;public class Comp
14、uterFrame extends Frame implements ActionListener TextField textOne,textTwo,textResult; Button getProblem,giveAnswer; Label operatorLabel,message; Teacher teacher; ComputerFrame(String s) super(s); teacher=new Teacher(); setLayout(new FlowLayout(); textOne=new TextField(10); textTwo=new TextField(10
15、); textResult=new TextField(10); operatorLabel=new Label(+); message=new Label(你还没有回答呢); getProblem=new Button(获取题目); giveAnswer=new Button(确认答案); add(getProblem); add(textOne); add(operatorLabel); add(textTwo); add(new Label(=); add(textResult); add(giveAnswer); add(message); textResult.requestFocu
16、s(); textOne.setEditable(false); textTwo.setEditable(false); getProblem.addActionListener(this); giveAnswer.addActionListener(this); textResult.addActionListener(this); setBounds(100,100,450,100); setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEve
17、nt e) System.exit(0); ); public void actionPerformed(ActionEvent e) if(e.getSource()=getProblem) int number1=teacher.giveNumberOne(100); int number2=teacher.giveNumberTwo(100); String operator=teacher.giveOperator(); textOne.setText(+number1); textTwo.setText(+number2); operatorLabel.setText(operato
18、r); message.setText(请回答); textResult.setText(null); if(e.getSource()=giveAnswer) 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(请输入数字字符
19、); textResult.requestFocus(); validate(); /MainClass.javapublic class MainClass public static void main(String args) ComputerFrame frame; frame=new ComputerFrame(算术测试); 4.运行结果实验2 信号灯1.实验目的 学习处理ItemEvent事件和paint方法2.实验要求编写一个带有窗口的应用程序。在窗口的北面添加一个下拉列表,该下拉表有“红灯”,“绿灯”和“黄灯”三个选项。在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布
20、上绘制相应的信号灯。3.程序源代码/SignalCanvas.javaimport java.awt.Canvas;import java.awt.Color;import java.awt.Graphics;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 s
21、etYellow(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); g.fillOval(x, y, 2*r, 2*r); /
22、SignalFrame.javaimport java.awt.*;import java.applet.*;import java.awt.event.*;public class SignalFrame extends Frame implements ItemListener Choice choice; SignalCanvas signal=null; String itemRed=红灯,itemYellow=黄灯,itemGreen=绿灯; public SignalFrame() choice=new Choice(); choice.add(itemRed); choice.a
23、dd(itemYellow); choice.add(itemGreen); choice.addItemListener(this); add(choice,BorderLayout.NORTH); try Class cs=Class.forName(SignalCanvas); signal=(SignalCanvas)cs.newInstance(); add(signal,BorderLayout.CENTER); catch(Exception e) add(new Label(您还没有编写SignalCanvas类),BorderLayout.CENTER); setBounds
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1