java上机完整

合集下载

Java上机实验报告(1)

Java上机实验报告(1)

Java上机实验报告(1)任务简要描述⼀、任务简要描述⼀、1、实现Java版本的快速排序。

2、编写⼀个学⽣和教师数据输⼊和显⽰程序,学⽣数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。

要求将编号、姓名输⼊和显⽰设计成⼀个类Person,并作为学⽣数据操作类Student 和教师数据操作类Teacher 的基类。

3、请设计 3 个类 , 分别是学⽣类 Student, 本科⽣类Undergaduate, 研究⽣类 Postgraduate, 其中 Student 类是⼀个抽象类 , 它包含⼀些基本的学⽣信息如姓名、所学课程、课程成绩等 , ⽽Undergraduate 类和 Postgraduate 都是 Student 类的⼦类 , 它们之间的主要差别是计算课程成绩等级的⽅法有所不同 , 研究⽣的标准要⽐本科⽣的标准⾼⼀些。

假设某班级⾥既有本科⽣也有研究⽣ , 请编写程序统计出全班学⽣的成绩等级并显⽰出来。

此题关键是设计⼀个学⽣数组 , 既能存放本科⽣对象 , ⼜能存放研究⽣对象。

问题及解决⼆、⼆、问题及解决1、算法思想:基于分治的思想,是冒泡排序的改进型。

⾸先在数组中选择⼀个基准点(该基准点的选取可能影响快速排序的效率,后⾯讲解选取的⽅法),然后分别从数组的两端扫描数组,设两个指⽰标志(lo指向起始位置,hi指向末尾),⾸先从后半部分开始,如果发现有元素⽐该基准点的值⼩,就交换lo和hi位置的值,然后从前半部分开始扫秒,发现有元素⼤于基准点的值,就交换lo和hi位置的值,如此往复循环,直到lo>=hi,然后把基准点的值放到hi这个位置。

⼀次排序就完成了。

以后采⽤递归的⽅式分别对前半部分和后半部分排序,当前半部分和后半部分均有序时该数组就⾃然有序了。

排序过程:输出结果:2、Person类:1public class person {2 String name;3 String number;45 person(){ }6 person(String number, String name){7this.number = number; = name;9 }10public void setNumber(String n){11 number = n;12 }13public String getNumber(){14return number;15 }16public void setName(String c){17 name = c;18 }19public String getName(){20return name;21 }22public void input(){23 Scanner sc = new Scanner(System.in);24 System.out.println("Please input the name:");25 name = sc.nextLine();26 System.out.println("Please input the number:");27 number = sc.nextLine();28 }29public void showInfo(){30 System.out.println("The number is:" + getNumber() + ", name is:" + getName());31 }32 }Teacher类:1class Teacher extends person{2 String title; //职称3 String dept; //部门4 Teacher(){5super();6 }7 Teacher(String number, String name, String title, String dept){8super(number, name);9this.title = title;10this.dept = dept;11 }12public void setTitle(String t){13 title = t;14 }15public String getTitle(){16return title;17 }18public void setDept(String d){19 dept = d;20 }21public String getDept() {22return dept;23 }24//⼦类重载⽗类⽅法25public void input(){26super.input();27 System.out.println("Please input the title:");28 Scanner sc = new Scanner(System.in);29 setTitle(sc.nextLine());30//title = sc.nextLine();31 System.out.println("Please input the dept:");32 dept = sc.nextLine();33 }34public void showInfo(){35super.showInfo();36 System.out.println("The teacher's title is:" + getTitle() + ", department is:" + getDept());37 }38 }Student类:1class Student extends person{2 String classnumber; //班号3int grade; //成绩4 Student(){5super();6 }7 Student(String number, String name, String classnumber, int grade){8super(number, name);9this.classnumber = classnumber;10this.grade = grade;11 }12public void setClassnumber(String c){13 classnumber = c;14 }15public String getClassnumber(){16return classnumber;17 }18public void setGrade(int g){19 grade = g;20 }21public int getGrade() {22return grade;23 }24//⼦类重载⽗类⽅法25public void input(){26super.input();27 System.out.println("Please input the classnumber:");28 Scanner sc = new Scanner(System.in);29 setClassnumber(sc.nextLine());30//classnumber = sc.nextLine();31 System.out.println("Please input the grade:");32 grade = sc.nextInt();33 }34public void showInfo(){35super.showInfo();36 System.out.println("The student's classnumber is:" + getClassnumber() + ", grade is:" + getGrade());37 }38 }输出结果:3、对象数组:1 Student[] students = new Student[5];Student类:1public abstract class Student2 {3 String name;4 String type;5int courseScore;6 String courseGrade;78public Student(String name)9 { = name;11 courseGrade="";12 }14public abstract void calculateGrade();1516public String getName()17 {18return name;19 }2021public String getType()22 {23return type;24 }2526public String getCourseGrade()27 {28return courseGrade;29 }3031public int getCourseScore()32 {33return courseScore;34 }3536public void setName(String name)37 { = name;39 }4041public void setType(String type)42 {43this.type = type;44 }4546public void setCourseScore(int courseScore)47 {48this.courseScore = courseScore;49 }5051 }本科⽣类:1class Undergraduate extends Student2 {3public Undergraduate(String name, int courseScore)4 {5super(name);6 type = "本科⽣";7this.courseScore = courseScore;8 }910public void calculateGrade()11 {12if (courseScore >= 80 && courseScore < 100) courseGrade = "优秀"; 13else if (courseScore >= 70 && courseScore < 80) courseGrade = "良好"; 14else if (courseScore >= 60 && courseScore < 70) courseGrade = "⼀般"; 15else if (courseScore >= 50 && courseScore < 60) courseGrade = "及格"; 16else courseGrade = "不及格";1718 }19 }研究⽣类:1class Postgraduate extends Student2 {3public Postgraduate(String name, int courseScore)4 {5super(name);6 type = "研究⽣" ;7this.courseScore = courseScore;8 }9public void calculateGrade()10 {11if (courseScore >= 90 && courseScore < 100) courseGrade = "优秀"; 12else if (courseScore >= 80 && courseScore < 90) courseGrade = "良好"; 13else if (courseScore >= 70 && courseScore < 80) courseGrade = "⼀般"; 14else if (courseScore >= 60 && courseScore < 70) courseGrade = "及格"; 15else courseGrade = "不及格";17 }18 }19成绩计算类:1public class Polymorphism2 {3int total = 0;4double average;56public void showInfo(){7 Student[] students = new Student[5];89 students[0] = new Undergraduate("ABC", 95);10 students[1] = new Undergraduate("DEF", 85);11 students[2] = new Postgraduate("GHI", 75);12 students[3] = new Undergraduate("JKL", 65);13 students[4] = new Postgraduate("MNO", 55);14for (int i=0; i<5; i++)15 {16 total += students[i].courseScore;17 students[i].calculateGrade();18 }19 average = total / 5;20 System.out.println("姓名" + " 类型" +" 成绩");21 System.out.println("-----------------------");2223for (int i=0; i<5; i++)24 {25 System.out.println(students[i].getName( )+" "+students[i].getType( )+" "+students[i].getCourseGrade( ));26 }2728//Student st = new Student("李明");29 System.out.println("平均成绩:" + average);30 System.out.println();31for(int i=0; i<5; i++)32 {33if(students[i] instanceof Undergraduate )34 {35 System.out.println(students[i].getName()+"是本科⽣");36 }37else38 {39 System.out.println(students[i].getName()+"是研究⽣");40 }41 }42 }43public static void main(String[] args)44 {45 Polymorphism show = new Polymorphism();46 show.showInfo();4748 }49 }输出结果:总结: 练习使⽤了创建对象数组的⽅法,使⽤⾯向对象的思想,⼦类继承⽗类的属性和⽅法,并对⽗类的⽅法进⾏重写,在题⽬三中,我本来将计算成绩的内容全部写在main⽅法⾥,经过⽼师讲解,我重新修改了程序,将创建对象数组和成绩计算的相关程序单独写在⼀个类⾥⾯。

南开二级Java上机一百题答案

南开二级Java上机一百题答案

基本操作题答案第1题【答案】第1处:sum=0第2处:pos%2==1(或pos%2!=0)第3处:pos++(或pos=pos+1或pos+=1)第2题【答案】第1处:static void第2处:(year%4==0&&year%100!=0)||year%400==0第3处:else第3题【答案】第1处:String[]args(或 String args[])(注:args为变量名,可为其他名称)第2处:switch第3处:r=r-6;break;(或r-=6;break;)第4题【答案】第1处:int MaxValue第2处:static int第3处:max_value=temp1>z?temp1:z(或max_value=z<temp1?temp1:z)第5题【答案】第1处:i < args.length第2处:args[i]第3处:i++(或i=i+1或i+=1)第6题【答案】第1处:new String第2处:temp=args[0]第3处:str.equals(temp)第7题【答案】第1处:"\"Welcome!\""第2处:"a/b=c"第3处:"\\\\do something"第8题【答案】第1处:int sum=0第2处:i%2!=0第3处:i++(或i=i+1或i+=1)第9题【答案】第1处:i<10(或i<=9)第2处:arr[j]=temp第3处:j--(或j=j-1或j-=1)第10题【答案】第1处:(int)(Math.random()*100)第2处:randomNum>=70 && randomNum<80第3处:i++(或i=i+1或i+=1)第11题【答案】第1处:char c第2处:(int)(Math.random()*26)+'A'第3处:c!='Q'第12题【答案】第1处:int n第2处:n==1第3处:return n*Fac(n-1)第13题【答案】第1处:year=Integer.parseInt(s)第2处:catch第3处:year%4==0 && year%100!=0 || year%400==0第14题【答案】第1处:String s=in.readLine()第2处:day=31;break第3处:day=30;break第15题【答案】第1处:int [] arr(或int arr[])第2处:new int[50]第3处:arr[i]=i+1第16题【答案】第1处:String str第2处:n=str.length()第3处:c=str.charAt(n-1)第18题【答案】第1处:int []第2处:i=0;i<10;i++(或i=1;i<=9;i++)第3处:i=9;i>=0;i--(或i=9;i>-1;i--)第19题【答案】第1处:String name, int age第2处:public void第3处:basic temp第20题【答案】第1处:i<3;i++(或i<=2;i++)第2处:j=0;j<4;j++(或j=0;j<=3;j++)第3处:sum=sum+arr[i][j]第21题【答案】第1处:for第2处:i=0;i<26(或i=0;i<=25)第3处:c=(char)(c+1)第22题【答案】第1处:int sum=0第2处:n--(或n=n-1或n-=1)第3处:n>0(或n>=1)第23题【答案】第1处:arr.length第2处:arr[i]=arr[j]第3处:arr[j]=temp第24题【答案】第1处:public void init第2处:public void paint第3处:g.drawString(str,25,25)第25题【答案】第1处:c=(char)(c+3)第2处:c=(char)(c-2)第3处:c=(char)(c+5)第26题【答案】第1处:min=b第2处:min=a第3处:min=c第27题【答案】第1处:i++(或i=i+1或i+=1)第2处:continue第3处:sum=sum+i(或sum+=i)第28题【答案】第1处:int a,int b第2处:int sum第3处:return sum第29题【答案】第1处:(int)(Math.random()*10)第2处:guessNum!=ranNum第3处:str=in.readLine()第30题【答案】第1处:int sum=0第2处:i<score.length第3处:score[i]<60(或score[i]<=59)第31题【答案】第1处:int len=str.length()第2处:c>='A' && c<='Z'第3处:i++(或i=i+1或i+=1)第32题【答案】第1处:int num1,num2第2处:res1=num1/num2第3处:res2=num1%num2第33题【答案】第1处:for第2处:i<str.length();i++第3处:!(c>='a'&&c<='z' || c>='A'&&c<='Z') 第35题【答案】第1处:double第2处:i=(int)d第3处:x=d-i第36题【答案】第1处:a=temp/100第2处:b=temp/10第3处:c=temp%10第37题【答案】第1处:i=0;i<str.length();i++第2处:char temp=str.charAt(i)第3处:sum++(或sum=sum+1或sum+=1)第38题【答案】第1处:String str1,str2第2处:str1.indexOf(str2)第3处:i!=-1第39题【答案】第1处:System.in第2处:try第3处:d=Double.parseDouble(s)第40题【答案】第1处:new basic(name,age)第2处:int age第3处:=name第41题【答案】第1处:String[]第2处:num=args.length第3处:i<num;i++第42题【答案】第1处:str.length()第2处:arr = new char[n]第3处:char c=str.charAt(i)第43题【答案】第1处:str1.length():str2.length()第2处:c1!=c2第3处:break第44题【答案】第1处:arr=new int[5]第2处:i=0;i<5第3处:i=4;i>=0第45题【答案】第1处:temp=arr[0]第2处:temp<arr[i]第3处:temp=arr[i]第46题【答案】第1处:score[i]>=60第2处:i++第3处:sum/num第47题【答案】第1处:char c1,c2第2处:c1==c2第3处:str1.equals(str2)第48题【答案】第1处:j<5(或j<=5)第2处:j=0第3处:i++(或i=i+1或i+=1)第49题【答案】第1处:ch = new char[str.length()]第2处:ch=str.toCharArray()第3处:int i=0;i<ch.length;i++第50题【答案】第1处:int n=arr.length第2处:arr[i]>='a' && arr[i]<='z'第3处:(char)(arr[i]-32)第52题【答案】第1处:str=new String()第2处:arr[i]>='A'&&arr[i]<='Z' || arr[i]>='a'&&arr[i]<='z' 第3处:i<l第53题【答案】第1处:int第2处:int第3处:res=op1 | op2第54题【答案】第1处:int第2处:int第3处:op1=op1^op2第55题【答案】第1处:int sum1=0,sum2=0,sum3=0第2处:i<score.length第3处:else if(score[i]<80)第56题【答案】第1处:int i,j第2处:i<10第3处:j<=i第57题【答案】第1处:i++(或i=i+1或i+=1)第2处:continue第3处:sum++(或sum=sum+1或sum+=1)第58题【答案】第1处:i<score.length第2处:break第3处:i<score.length第59题【答案】第1处:str="a\\b"第2处:str="\"c\\d\""第3处:str="\'e/f\'"第60题【答案】第1处:int n第2处:arr.length-1第3处:n--(或n=n-1或n-=1)第61题【答案】第1处:int n第2处:return 1第3处:return n+add(n-1)第62题【答案】第1处:int sum=0第2处:i=1;i<=20;i++第3处:i%3==0第63题【答案】第1处:c=(char)('0'+i)第2处:c=='5'第3处:break第64题【答案】第1处:str.replace('a','$')第2处:str.indexOf("$")第3处:str.substring(pos)第65题【答案】第1处:c=new char[str.length()]第2处:str.getChars(0,str.length(),c,0)第3处:i=c.length-1;i>=0;i--第66题【答案】第1处:extends Frame第2处:fr.setSize(200,200)第3处:fr.setBackground(Color.black)第67题【答案】第1处:i<=20;i++第2处:i%2==0第3处:continue第69题【答案】第1处:int n=str.length()第2处:str.charAt(i)第3处:i++(或i=i+1或i+=1)第70题【答案】第1处:InputStreamReader ir第2处:true第3处:break第71题【答案】第1处:char第2处:short第3处:long第72题【答案】第1处:int第2处:float第3处:(char)a第73题【答案】第1处:final char第2处:boolean第3处:byte第74题【答案】第1处:new basic()第2处:temp.opera()第3处:void第75题【答案】第1处:new boolean[10]第2处:i%2!=0第3处:b[i]=true第76题【答案】第1处:int sum=0第2处:i=1;i<=20;i++第3处:i%3==0第77题【答案】第1处:int a,int b第2处:maxNum=a第3处:return maxNum第78题【答案】第1处:basic temp第2处:int第3处:return zc第79题【答案】第1处:int sum=0第2处:(char)第3处:sum++(或sum=sum+1或sum+=1)第80题【答案】第1处:int max=a[0]第2处:i<a.length第3处:max=a[i]第81题【答案】第1处:String []第2处:i<arr.length第3处:pos=i第82题【答案】第1处:new int[arrA.length]第2处:arrA.length-1第3处:j--(或j=j-1或j-=1)第83题【答案】第1处:i<10第2处:Math.random()*10第3处:result++(或result=result+1或result+=1)第84题【答案】第1处:int第2处:double第3处:double第86题【答案】第1处:(char)第2处:(int)第3处:(char)第87题【答案】第1处:i++(或i=i+1或i+=1)第2处: (double)sumScore/num 第3处:i<num第88题【答案】第1处:String第2处:float第3处:double第89题【答案】第1处:i<=100第2处:break第3处:i++(或i=i+1或i+=1)第90题【答案】第1处:int a,double b第2处:ex.num1第3处:ex.num2第91题【答案】第1处:i<a[0].length第2处:i<a.length第3处:j<a[i].length第92题【答案】第1处:i<a.length第2处:j<a[i].length第3处:min=a[i][j]第93题【答案】第1处:str.charAt(i)第2处:c=='a'第3处:i<str.length()第94题【答案】第1处:int sum=0第2处:i%7==0第3处:sum=sum+i(或sum+=i)第95题【答案】第1处:Math.random()*100第2处:break第3处:(sum/10)>=70第96题【答案】第1处:int score第2处:if(score>=60)第3处:return str第97题【答案】第1处:break第2处:i++(或i=i+1或i+=1)第3处:j++(或j=j+1或j+=1)第98题【答案】第1处:str.charAt(i)第2处:c>='a'&&c<='z'第3处:i<str.length()第99题【答案】第1处:byte第2处:float第3处:long第100题【答案】第1处:new int[20]第2处:i=0;i<20第3处:i%2!=0第1处:new ImageIcon(name)第2处:frame.show()第2题【答案】第1处:panel第2处:new ActionListener()第3题【答案】第1处:Container第2处:new ActionListener()第4题【答案】第1处:contentPane.add(panel)第2处:t==c第5题【答案】第1处:import java.awt.event.*第2处:f.setVisible(true)第6题【答案】第1处:pan.setSize(100,100)第2处:f.setVisible(true)第7题【答案】第1处:new ActionListener()第2处:tf1.getText()第8题【答案】第1处:new FlowLayout()第2处:pack()第9题【答案】第1处:this第2处:setDemoPanel()第10题【答案】第1处:final List oper第2处:oper.getSelectedItem()第11题【答案】第1处:this第2处:actionPerformed(ActionEvent evt)第12题【答案】第1处:getContentPane()第2处:colorPanel.repaint()第13题【答案】第1处:implements ActionListener第2处:evt.getSource()第14题【答案】第1处:JMenuBar mbar = new JMenuBar()第2处:return button第15题【答案】第1处:new JScrollPane(wordList)第2处:(String)values[i]第16题【答案】第1处:evt.getSource()第2处:setBackground(color)第17题【答案】第1处:Point第2处:mevt.getPoint第18题【答案】第1处:implements MouseMotionListener第2处:evt.getClickCount() >= 2第19题【答案】第1处:newButton.addActionListener(this)第2处:f.show()第20题【答案】第1处:PlafPanel第2处:plaf第21题【答案】第1处:import javax.swing.event.*第2处:textField.getText()第22题【答案】第1处:Class第2处:Method[] methods(或Method methods[])第24题【答案】第1处:new ItemListener()第2处:getSelectedObjects()第25题【答案】第1处:new Date()第2处:da.getDay()+1第26题【答案】第1处:implements MouseListener第2处:addMouseListener(this)第27题【答案】第1处:implements KeyListener第2处:e.getKeyChar()第28题【答案】第1处:false第2处:System.exit(0)第29题【答案】第1处:titled第2处:validate()第30题【答案】第1处:super.paintComponent(g)第2处:Font.BOLD第31题【答案】第1处:jobsBox = new JComboBox()第2处:(String)selectedJob第32题【答案】第1处:new LogoutAction()第2处:System.exit(0)第33题【答案】第1处:Integer.parseInt(buttonString)第2处:int buttonNumber第34题【答案】第1处:"黑体"第2处:g.drawString第35题【答案】第1处:tk.getScreenSize()第2处:setResizable(false)第36题【答案】第1处:getImage("exam_36.gif")第2处:g.drawImage第37题【答案】第1处:i < selectedCourses.length第2处:tempSeletedText.toString()第38题【答案】第1处:import java.awt.*第2处:i < fontNames.length第39题【答案】第1处:checkPassword.setEditable(false)第2处:private JPasswordField myPassword第40题【答案】第1处:implements MouseMotionListener第2处:extends MouseAdapter第41题【答案】第1处:checkPassword.setEditable(false)第2处:myPassword.getPassword()第42题【答案】第1处:new ButtonGroup()第2处:new JRadioButton(name, defaultRadio) 第43题【答案】第1处:g.drawArc第2处:Polygon p = new Polygon()第44题【答案】第1处:SwingConstants.VERTICAL第2处:sourceSlider.getValue()第45题【答案】第1处:new ResultListener()第2处:Thread.sleep(50)第47题【答案】第1处:public void init第2处:frame.show()第48题【答案】第1处:DefaultMutableTreeNode第2处:TreePath第49题【答案】第1处:Object[][]第2处:new JTable(data,colHeads)第50题【答案】第1处:new JPasswordField()第2处:tfPassword.getPassword()第51题【答案】第1处:numClicks++(或numClicks=numClicks+1或numClicks+=1)第2处:frame.setVisible(true)第52题【答案】第1处:simple第2处:new GridBagLayout()第53题【答案】第1处:file.createNewFile()第2处:(c=rfile.read())!=-1第54题【答案】第1处:JMenuBar jmenubar1=new JMenuBar()第2处:this.setJMenuBar(jmenubar1)第55题【答案】第1处:new JProgressBar(0,0,1000)第2处:progressNum+=50(或progressNum= progressNum+50)第56题【答案】第1处:0,100,40第2处:20第57题【答案】第1处:implements ActionListener, MenuListener第2处:setMnemonic第58题【答案】第1处:new JTree(root)第2处:tree.setEditable第59题【答案】第1处:new ImageIcon第2处:icon第60题【答案】第1处:Object[][]第2处:JTable(cells, columnNames)第61题【答案】第1处:btn.addActionListener(this)第2处:Double.parseDouble(display.getText())第62题【答案】第1处:ItemListener第2处:f.addWindowListener(this)第63题【答案】第1处:b1.setActionCommand("disable")第2处:new simple()第64题【答案】第1处:BufferedImage img第2处:getSize()第65题【答案】第1处:implements Runnable第2处:repaint()第66题【答案】第1处:import .*第2处:urlObj.getPort()第67题【答案】第1处:extends Applet implements ActionListener第2处:e.getSource()==text1第68题【答案】第1处:text1.getText().length()第2处:2第70题【答案】第1处:text1.addTextListener(this)第2处:textValueChanged(TextEvent e)第71题【答案】第1处:extends Button implements ActionListener 第2处:addActionListener(this)第72题【答案】第1处:extends Label第2处:inputNumber.getText()第73题【答案】第1处:extends Canvas第2处:g.drawOval第74题【答案】第1处:mycard.first(p)第2处:st(p)第75题【答案】第1处:label[][]第2处:new Label()第76题【答案】第1处:implements ItemListener第2处:box.getLabel()第77题【答案】第1处:choice.getSelectedItem()第2处:choice.getSelectedIndex()第78题【答案】第1处:list2.addActionListener(this)第2处:index第79题【答案】第1处:i<fontName.length第2处:text.setFont(f)第80题【答案】第1处:Rectangle第2处:label.getBounds()第81题【答案】第1处:g.clearRect(0,0,width,height)第2处:canvas.setN(0);canvas.repaint()第82题【答案】第1处:implements ItemListener,ActionListener 第2处:setResizable(false)第83题【答案】第1处:box.getState()==true第2处:tool.getScreenSize()第84题【答案】第1处:item.setShortcut(shortcut)第2处:setMenuBar(menubar)第85题【答案】第1处:implements WindowListener第2处:addWindowListener(this)第86题【答案】第1处:getSystemClipboard()第2处:text2.append(str)第87题【答案】第1处:extends Dialog第2处:dialog.setVisible(true)第88题【答案】第1处:FileDialog.SAVE第2处:filedialog_save.getFile()第89题【答案】第1处:inputNumber.getText()第2处:JOptionPane.WARNING_MESSAGE第90题【答案】第1处:showConfirmDialog第2处:JOptionPane.YES_NO_OPTION第92题【答案】第1处:InputEvent.BUTTON1_MASK第2处:InputEvent.BUTTON3_MASK第93题【答案】第1处:implements KeyListener第2处:keyPressed(KeyEvent e)第94题【答案】第1处:implements Runnable第2处:void run第95题【答案】第1处:extends PlainDocument第2处:text.setDocument(document)第96题【答案】第1处:File dir第2处:int i=0; i < files.length; i++第97题【答案】第1处:chooser.getSelectedFile()第2处:new FileInputStream(file)第98题【答案】第1处:new ProgressMonitorInputStream第2处:text.append(s)第99题【答案】第1处:new JTable(a,name)第2处:a[i][j].toString()第100题【答案】第1处:implements TreeSelectionListener第2处:node.toString()综合应用题答案第1题【答案】第1处:circle()第2处:extends Frame第3处:new WindowAdapter()第2题【答案】第1处:button.addActionListener(this)第2处:inputNumber.getText()第3处:e.getSource()==button第3题【答案】第1处:lFont.addItem (arFont[i])第2处:public boolean handleEvent (Event event)第3处:g.drawString第4题【答案】第1处:txtPassword.setEchoChar('*')第2处:txtPassword.getText()第3处:txtUsername.setEditable(true)第5题【答案】第1处:lstList.getSelectedIndex()+1第2处:lstList.getSelectedItem() == null第3处:lstList.remove( lstList.getSelectedIndex() )第6题【答案】第1处:textArea.setEditable(false)第2处:field.addActionListener(this)第3处:setVisible(false)第7题【答案】第1处:extends JFrame implements ActionListener第2处:public void actionPerformed(ActionEvent e)第3处:JButton instance = (JButton)e.getSource()第8题【答案】第1处:private JColorChooser colorChoose = new JColorChooser()第2处:setJMenuBar( buildMenuBar() )第3处:FileReader fr = new FileReader( file )第9题【答案】第1处:sizer.setMinimum( MIN_POINTS )第2处:new ChangeListener()第3处:sliderPanel.setBorder(BorderFactory.createTitledBorder( "Font size" ) ) 第10题【答案】第1处:super( titleText )第3处:Container cp = getContentPane()第11题【答案】第1处:upper.setLayout( new BorderLayout() )第2处:class ButtonListener implements ActionListener第3处:this.c = c第12题【答案】第1处:public void init()第2处:extends Panel implements MouseListener第3处:addMouseListener(this)第13题【答案】第1处:setLayout(new FlowLayout(FlowLayout.LEFT))第2处:button.addActionListener(this)第3处:s=ta.getSelectedText()第14题【答案】第1处:bn.setActionCommand("改变")第2处:Graphics g=getGraphics()第3处:update(g)第15题【答案】第1处:extends Applet implements AdjustmentListener第2处:public void adjustmentValueChanged(AdjustmentEvent e)第3处:x=rgh.getValue()第16题【答案】第1处:extends Applet implements MouseListener,MouseMotionListener 第2处:public void init()第3处:public void mouseMoved(MouseEvent e)第17题【答案】第1处:extends Applet implements ActionListener,MouseMotionListener 第2处:public void paint(Graphics g)第3处:public void actionPerformed(ActionEvent e)第18题【答案】第1处:button.addMouseListener(this)第2处:e.getSource() instanceof Button第3处:b=(Button)e.getSource()第19题【答案】第1处:chooser = new JFileChooser()第2处:setJMenuBar(menuBar)第3处:public void actionPerformed(ActionEvent evt)第20题【答案】第1处:public Rectangle2D find(Point2D p)第2处:private class MouseHandler extends MouseAdapter第3处:find(event.getPoint()) == null第21题【答案】第1处:public DataExchangeFrame()第2处:private class ConnectAction implements ActionListener第3处:new String(u.getPassword())第22题【答案】第1处:setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT)第2处:boolean saveOk = !readonlyItem.isSelected()第3处:class TestAction extends AbstractAction第23题【答案】第1处:contentPane.add(bar, BorderLayout.NORTH)第2处:setJMenuBar(menuBar)第3处:panel.setBackground(c)第24题【答案】第1处:values[i] = Double.parseDouble第2处:super.paintComponent(g)第3处:Graphics2D g2 = (Graphics2D)g第25题【答案】第1处:directoryStack.size() > 0第2处:String[] subdirectories = currentDirectory.list()第3处:directoryStack.push(f)第26题【答案】第1处:JScrollPane scrollPane = new JScrollPane(tree)第2处:public TreeNode makeSampleTree()第3处:tree.scrollPathToVisible(path)第27题【答案】第1处:Container contentPane = getContentPane()第3处:area.exclusiveOr(area2)第28题【答案】第1处:File f = new File(".").getAbsoluteFile()第2处:int i = 0; i < files.length; i++第3处:private class FileListDragSourceListener extends DragSourceAdapter 第29题【答案】第1处:public DropTargetFrame()第2处:class TextDropTargetListener implements DropTargetListener第3处:public void dragEnter(DropTargetDragEvent event)第30题【答案】第1处:class TransformTestFrame extends JFrame第2处:class TransformPanel extends JPanel第3处:public void paintComponent(Graphics g)第31题【答案】第1处:frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)第2处:String text = textArea.getSelectedText()第3处:clipboard.setContents(selection, null)第32题【答案】第1处:public SwingDnDFrame()第2处:chooser.setDragEnabled(true)第3处:textField.setDragEnabled(true)第33题【答案】第1处:Color color = chooser.getColor()第2处:chooser.setColor(color)第3处:public Object getTransferData(DataFlavor flavor)第34题【答案】第1处:class CounterSubTask extends Thread第2处:textField.setText(Integer.toString(i))第3处:JButton button = new JButton(title)第35题【答案】第1处:public class advance extends JButton第2处:super(icon)第3处:Container c = f.getContentPane()第36题【答案】第1处:class MyAdjustmentListener implements AdjustmentListener第2处:label.setText("滚动条的值:" + e.getValue() + " ")第3处:frame.setContentPane(new advance())第37题【答案】第1处:new RolloverSpinnerListModel(weekdays)第2处:public Object getNextValue()第3处:l.size() - 1第38题【答案】第1处:this.addMouseListener(new MouseEventHandler())第2处:class MouseEventHandler extends MouseAdapter第3处:public void mousePressed(MouseEvent evt)第39题【答案】第1处:b.setFont(font)第2处:b.addActionListener(new ActionListener()第3处:b.revalidate()第40题【答案】第1处:class TabManager implements ItemListener第2处:public void itemStateChanged(ItemEvent ie)第3处:advance.this.repaint()第41题【答案】第2处:popup.show(advance.this, e.getX(), e.getY())第3处:theValue = slider.getValue()第42题【答案】第1处:Class types[] = new Class[]第2处:public Object getValueAt(int r, int c)第3处:String files[] = dir.list()第43题【答案】第1处:buttonPanel = new JPanel()第2处:public class SelectionDebugger implements ListSelectionListener第3处:protected int[] getSelectedIndices(int start, int stop)第44题【答案】第1处:scrollBar.addAdjustmentListener(new AdjustmentListener( )第2处:slider.addChangeListener(new ChangeListener( )第3处:slider.getValue( )第45题【答案】第1处:pane.replaceSelection("文本")第2处:pane.insertIcon(icon)第3处:pane.insertComponent(new JButton("点击我"))第46题【答案】第1处:theLabel.setText(htmlTextArea.getText())第2处:JOptionPane.showMessageDialog第3处:JPanel rightPanel = new JPanel()第47题【答案】第1处:Object arg = evt.getItem()第2处:Applet a = (Applet)e.nextElement()第3处:advance applet = (advance)getAppletContext().getApplet("advance") 第48题【答案】第1处:public class advance extends Frame implements Runnable第2处:btStop.setEnabled(false)第3处:advance.this.stop()第49题【答案】第1处:Color[] colorValues = {Color.red, Color.green, Color.blue}第2处:buttons[i].addActionListener(this)第3处:class MainButton extends Canvas implements Runnable第50题【答案】第1处:class advance extends Frame implements ItemListener第2处:cbCanvas[i].repaint()第3处:addMouseListener(new MouseListener())第51题【答案】第1处:choice.addItem("item "+(lastItemCount++))第2处:choice.removeAll()第3处:choice.remove(target)第52题【答案】第1处:Vector vec = new Vector()第2处:while ((str = in.readLine()) != null)第3处:new advance("advance_input.txt")第53题【答案】第1处:PopupMenu popup第2处:switch (evt.getStateChange())第3处:System.out.println(evt.getActionCommand()+ " is selected")第54题【答案】第1处:FlowLayout layout = new FlowLayout(FlowLayout.RIGHT)第2处:String what = evt.getActionCommand()第3处:default: label = "advance"第55题【答案】第1处:add(new MainCanvas(), BorderLayout.CENTER)第2处:update(g)第3处:class MouseMotionEventHandler extends MouseMotionAdapter第56题【答案】第1处:sb.addAdjustmentListener(this)第2处:class MainCanvas extends Component第3处:double[] values = new double[100]第57题【答案】第1处:addMouseListener(new MouseEventListener())第2处:g.setColor(colorValues[chColor.getSelectedIndex()])第3处:class MouseEventListener extends MouseAdapter第58题【答案】第1处:new advance()第2处:class MouseEventHandler extends MouseAdapter第3处:public void paint(Graphics g)第59题【答案】第1处:extends Applet implements MouseListener第2处:addMouseListener(this)第3处:public void mousePressed(MouseEvent event)第60题【答案】第1处:public SketchPanel()第2处:addKeyListener(listener)第3处:int keyCode = event.getKeyCode()第61题【答案】第1处:DocumentListener listener = new ClockFieldListener()第2处:hourField.getDocument().addDocumentListener(listener)第3处:private class ClockFieldListener implements DocumentListener第62题【答案】第1处:frame.show()第2处:replaceButton.addActionListener(new ReplaceAction())第3处:String f = from.getText()第63题【答案】第1处:contentPane.add(panel)第2处:display.setText(display.getText() + input)第3处:public void calculate(double x)第64题【答案】第1处:ta.addKeyListener(new KeyEventHandler())第2处:class KeyEventHandler extends KeyAdapter第3处:class MouseEventHandler extends MouseAdapter第65题【答案】第1处:copy.addActionListener( new ActionListener()第2处:t2.append( t1.getSelectedText() )第3处:app.addWindowListener( new WindowAdapter()第66题【答案】第1处:colorList = new JList( colorNames )第2处:colorList.setSelectionMode( ListSelectionModel.SINGLE_SELECTION )第3处:c.setBackground( colors[ colorList.getSelectedIndex() ] )第67题【答案】第1处:String colors[] = { "Blue", "Yellow", "Red" }第2处:items[ i ].addActionListener( handler )第3处:popupMenu.show( e.getComponent(), e.getX(), e.getY() )第68题【答案】第1处:list = new JList( philosophers )第2处:String name = JOptionPane.showInputDialog(advance.this, "输入姓名" ) 第3处:philosophers.removeElement(list.getSelectedValue() )第69题【答案】第1处:extends JFrame第2处:c.add( new JScrollPane( colorList ) )第3处:copyList.setListData( colorList.getSelectedValues() )第70题【答案】第1处:extends JFrame implements MouseListener, MouseMotionListener第2处:getContentPane().add( statusBar, BorderLayout.SOUTH )第3处:public void mouseEntered( MouseEvent e )第71题【答案】第1处:public void init()第2处:public void paint( Graphics g )第3处:JOptionPane.showMessageDialog( null, "输入数据错误" )第72题【答案】第1处:comboBox.addActionListener(new ComboBoxListener())第2处:Graphics2D g2D = (Graphics2D) g第3处:class ComboBoxListener implements ActionListener第73题【答案】第1处:int[] fontStyles = {Font.PLAIN, Font.BOLD, Font.ITALIC, BOLDITALIC} 第2处:controlPanel.setBorder(border)第3处:public void update(Graphics g)第74题【答案】第1处:timer = new Timer(0, new TimerListener())第2处:JButton button = (JButton) e.getSource()第3处:timer.start()第75题【答案】第1处:setMenuBar(mb)第2处:m.getItem(i).addActionListener(this)第3处:String s = textArea.getSelectedText()第76题【答案】第1处:extends Frame implements ComponentListener第2处:public void watch(Component c)第3处:c.addComponentListener(this)第77题【答案】第1处:int i=0; i<keys.length(); i++第2处:kb.addKeyListener(new KeyEventHandler())第3处:System.out.println(evt.getKeyChar())第78题【答案】第1处:MouseEventHandler mhandler = new MouseEventHandler()第2处:public void mouseEntered(MouseEvent evt)第3处:MainButton(String label, String desc)第79题【答案】第1处:setBackground(Color.yellow);第2处:class ArrowButton extends Component implements MouseListener第3处:int[][]corners = {{1, 0}, {0, 0}, {0, 1}, {1, 1}}第80题【答案】第1处:update(g)第2处:class FakeButton extends Component implements Runnable第3处:Thread.sleep(250)第81题【答案】第1处:KeyEventHandler listener = new KeyEventHandler()第2处:class KeyEventHandler extends KeyAdapter第3处:public void keyPressed(KeyEvent evt)第82题【答案】第1处:extends Frame implements ActionListener, ItemListener第2处:for (int i=0; i<l.getItemCount(); i++)第3处:public void itemStateChanged(ItemEvent evt)第83题【答案】第1处:patternList.setEditable(true)第2处:String newSelection = (String)cb.getSelectedItem()第3处:frame.setContentPane(new advance())第84题【答案】第1处:final JList list = new JList( createData(strs) )第2处:private CheckableItem[] createData(String[] strs)第3处:class CheckListRenderer extends JCheckBox implements ListCellRenderer 第85题【答案】第1处:setJMenuBar( bar )第2处:for ( int i = 0; i < styleNames.length; i++ )第3处:class StyleHandler implements ItemListener第86题【答案】第1处:myPanel = new SelfContainedPanel()第2处:public SelfContainedPanel()第3处:super.paintComponent( g )第87题【答案】第1处:drawingArea.addMouseListener(new MyMouseListener())第2处:class MyMouseListener extends MouseInputAdapter第3处:drawingArea.repaint()第88题【答案】第1处:diameter.addChangeListener( new ChangeListener()第2处:super.paintComponent( g )第3处:public void setDiameter( int d )第89题【答案】第1处:scrollPane.setPreferredSize(new Dimension(300, 250))第2处:setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE )第3处:LineNumber lineNumber = new LineNumber( textPane )第90题【答案】第1处:jtextpane.addKeyListener(new KeyAdapter()第2处:capsLockField.addMouseListener(new MouseAdapter()第3处:public String showTodayDate()第91题【答案】第1处:private BorderLayout layout第2处:c.setLayout( layout )第3处:b[ i ].setVisible( true )第92题【答案】第1处:g.fillRect( 0, 0, getSize().width, getSize().height )第2处:public void itemStateChanged( ItemEvent event )第3处:private class MouseHandler extends MouseAdapter第93题【答案】第1处:extends JFrame implements KeyListener第2处:line1 = "Key typed: " + e.getKeyChar()第3处:app.addWindowListener( new WindowAdapter()第94题【答案】第1处:n=Long.valueOf(inputNumber.getText()).longValue()第2处:public void yinzi(long n)第3处:public void init()第95题【答案】第1处:public void addButton(Container c, String title, ActionListene第2处:Thread.sleep(5)第3处:class BallCanvas extends JPanel第96题【答案】第1处:frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 第2处:public ClockCanvas(String tz)第3处:t.start()第97题【答案】第1处:public ExceptTestPanel()第2处:protected void fireActionPerformed(ActionEvent event) 第3处:group.add(button)第98题【答案】第1处:extends Frame implements ActionListener第2处:openfile.setActionCommand("open")第3处:setFile(directory, filename)第99题【答案】第1处:setJMenuBar(mbar)第2处:public ConnectDialog(JFrame parent)第3处:public boolean showDialog(ConnectInfo transfer)第100题【答案】第1处:extends JPanel implements MouseMotionListener第2处:super.paintComponent(g)第3处:contentPane.add(new MousePanel())。

java实验报告上机过程遇到的问题及解决方法

java实验报告上机过程遇到的问题及解决方法

java实验报告上机过程遇到的问题及解决方法Java实验报告上机过程遇到的问题及解决方法在进行Java实验时,往往会遇到各种问题,这些问题可能与代码编写、调试、环境配置等方面有关。

在本文中,我将分享一些我在实验过程中遇到的常见问题以及相应的解决方法,希望能够帮助读者更好地进行Java实验。

1. 编译错误在编写Java代码时,经常会碰到编译错误。

编译错误可能是由于语法错误、缺少库文件、命名冲突等问题导致的。

解决这类问题的方法有:- 仔细检查代码,确保语法正确且符合Java语法规范。

常见的错误包括缺少分号、拼写错误等。

- 确保所使用的库文件已正确导入,并在代码中进行正确的引用。

- 对于命名冲突问题,可以尝试修改变量名或使用全限定名来解决。

2. 运行时错误在代码编译通过后,运行程序时可能会出现各种错误。

空指针异常、数组越界等。

解决这类问题的方法有:- 对于空指针异常,可以通过添加空指针判断来避免。

使用if语句判断对象是否为null再进行操作。

- 对于数组越界错误,需要确保访问数组元素时的索引值在合法范围内。

可以使用条件语句或循环来进行检查。

3. 调试问题在调试Java程序时,可能遇到程序无法正常运行或结果不符合预期的情况。

以下是一些解决方法:- 使用调试工具,如Eclipse、IntelliJ IDEA等,设置断点进行代码逐行调试。

通过观察变量的值和程序执行流程,可以找到问题所在。

- 添加日志输出语句,可以帮助我们查看程序在执行过程中的状态,从而找到错误原因。

- 使用try-catch块捕获异常,并在异常处理代码中添加适当的逻辑,以保证程序的正常运行。

4. 环境配置问题在进行Java实验时,可能需要进行一些环境配置,如设置类路径、引入第三方库等。

解决环境配置问题的方法有:- 确认所使用的开发工具是否已正确配置,并且已安装Java JDK和相应版本的JRE。

- 检查类路径是否正确设置,确保能够正确引用所需的库文件。

《Java语言程序设计》上机实验指导手册

《Java语言程序设计》上机实验指导手册

《Java语⾔程序设计》上机实验指导⼿册《Java语⾔程序设计》上机实验指导⼿册实验⼀ Java环境演练【⽬的】①安装并配置Java运⾏开发环境;②掌握开发Java应⽤程序的3个步骤:编写源⽂件、编译源⽂件和运⾏应⽤程序;③学习同时编译多个Java源⽂件。

【内容】1.⼀个简单的应⽤程序实验要求:编写⼀个简单的Java应⽤程序,该程序在命令⾏窗⼝输出两⾏⽂字:“你好,很⾼兴学习Java”和“We are students”。

程序运⾏效果⽰例:程序运⾏效果如下图所⽰:程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令⾏窗⼝输出"你好,很⾼兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令⾏窗⼝输出"We are students"}}实验后的练习:3.编译器怎样提⽰将System写成system这⼀错误?4.编译器怎样提⽰将String写成string这⼀错误?2.联合编译实验要求:编写4个源⽂件:Hello.java、A.java、B.java和C.java,每个源⽂件只有⼀个类,Hello.java是⼀个应⽤程序(含有main⽅法),使⽤了A、B和C类。

将4个源⽂件保存到同⼀⽬录中,例如:C:\100,然后编译Hello.java。

程序模板:模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令⾏窗⼝输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令⾏窗⼝输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令⾏窗⼝输出"I am B"}public class C{void fC(){【代码4】 //命令⾏窗⼝输出"I am C"}}实验后的练习:5.将Hello.java编译通过后,不断修改A.java源⽂件中的代码,⽐如,在命令⾏窗⼝输出“我是A类”或“我被修改了”。

10java上机

10java上机

<一>
1.编写程序,包括一个文本域和三个命令按钮,按钮标题分别为红色、黄色和蓝色,单击相应的按钮,将文本域的背景色设置为红色、黄色和蓝色。

2.编写程序,包括一个文本框、一个密码框和两个按钮。

按钮标题分别为确定和取消,用户在密码框中输入密码,单击确定按钮,将在密码框中输入的字符显示在文本框中。

3.编写程序,建立一个带有菜单的窗体。

当用户选择“Color”或“Style”菜单的相关选项时,标签中文字的字体和颜色会发生相应的变化。

4.编写程序,将窗口尺寸设置为不可更改,并处理窗口事件,使得点击窗口关闭按钮时,会弹出对话框,提示用户是否确定要关闭窗口。

5.编写程序,用列表框列出一些选项,设置一个按钮,点击按钮就会将所选的选项添加到另一个列表框中,其中第二个列表框中显示的已选项目可以删除。

程序运行界面如下图所示。

Java上机指导手册(2)

Java上机指导手册(2)

上机指导手册(2)一、实验目的与要求1、练习JCreator的使用;2、掌握Java表达式的计算和构造;3、理解并掌握Java控制语句对程序流程的控制。

4、练习数组的使用。

二、实验内容和步骤1、JCreator的配置与使用(1)为JC指定JDK的安装主目录在JC的【配置】菜单中选择【选项】在弹出的【选项】窗口中选在【JDK配置文件】第一次安装的JC没有配置文件可以选择【新建】,然后在弹出的对话框中选择JDK安装的主目录。

如果成功设置在下方会显示“所选JDK配置文件的默认classpath:”如上图所示。

注意:第一行是JC默认选择的配置文件,如果你的配置文件不在第一行要通过右边按钮的【向上】移到第一行。

(2)“新建”Java源文件在JC的【文件】菜单下选择【新建】→【文件】会弹出【文件向导】对话框选择【Java文件】→【下一步】进入【文件路径】选择界面我们需要再这里指定Java文件的名字(注意:如果定义的是public类,则文件名要和类名一致),以及文件存放的路径,建议大家自己在F盘建立一个自己的子目录如:F:\Java来存放我们的Java文件,不要使用默认的文件路径。

点击【完成】后就可以编辑我们的Java程序文件了。

(3)编译源文件及执行文件编写好Java源文件后可以选择【生成】菜单里的【编译文件】菜单项如果有语法错误会在下面的输出窗口给出错误信息。

正确编译通过就可以选择下面的【执行文件】来运行程序了。

2、假设x=10,y=20,z=30,求下列布尔表达式的值:(1) x<10 || x<10(2) x>y && y>x(3) (x<y+z) && (x+10<=20)(4) z-y==x && (y-z)==x(5) x<10 && y>x(6) x>y || y>x(7) !(x<y+z) || !(x+10<=20)(8) ( !(x==y)) && (x !=y) && (x<y || y<x)自己先计算,再用程序验证 :如:public class Example01 {public static void main(String[] args) {int x = 10, y = 20, z = 30;boolean flag;//求x<10||x<10布尔值flag = x < 10 || x < 10;System.out.println("x < 10 || x < 10:"+flag);}}//可以验证x<10||x<10的值是多少3、有一函数:x (x<1)y = 3x-2 (1≤x<10)4x (x≥10) 编写一程序,给定x值,输出y值。

Java基础上机题_分类整理版

Java基础上机题_分类整理版

一、类和对象基础题(共13题)1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。

具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。

Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。

主类A用来测试类Lader和类Circle的功能。

2.按要求编写Java应用程序:(1)编写西游记人物类(XiY ouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示武器(printWeapon)(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。

并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。

3.编写Java应用程序。

首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。

其次,编写一个主类,在主类中测试Account类的功能。

4.编写Java应用程序。

首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。

其次,再定义一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。

5.编写Java应用程序。

首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。

Java上机实验报告(3)

Java上机实验报告(3)

Java上机实验报告(3)任务简要描述⼀、⼀、任务简要描述1、集合类的使⽤举例Collection接⼝ Collection是最基本的集合接⼝,⼀个Collection代表⼀组Object,即Collection的元素(Elements)。

⼀些 Collection允许相同的元素⽽另⼀些不⾏。

⼀些能排序⽽另⼀些不⾏。

Java SDK不提供直接继承⾃Collection的类,Java SDK提供的类都是继承⾃Collection的“⼦接⼝”如List和Set。

所有实现Collection接⼝的类都必须提供两个标准的构造函数:⽆参数的构造函数⽤于创建⼀个空的Collection,有⼀个 Collection参数的构造函数⽤于创建⼀个新的Collection,这个新的Collection与传⼊的Collection有相同的元素。

后⼀个构造函数允许⽤户复制⼀个Collection。

如何遍历Collection中的每⼀个元素?不论Collection的实际类型如何,它都⽀持⼀个iterator()的⽅法,该⽅法返回⼀个迭代⼦,使⽤该迭代⼦即可逐⼀访问Collection中每⼀个元素。

典型的⽤法如下:1 Iterator it = collection.iterator(); // 获得⼀个迭代⼦2 while(it.hasNext()) {3 Object obj = it.next(); // 得到下⼀个元素 由Collection接⼝派⽣的两个接⼝是List和Set。

List接⼝ List是有序的Collection,使⽤此接⼝能够精确的控制每个元素插⼊的位置。

⽤户能够使⽤索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

和下⾯要提到的Set不同,List允许有相同的元素。

除了具有Collection接⼝必备的iterator()⽅法外,List还提供⼀个listIterator()⽅法,返回⼀个 ListIterator接⼝,和标准的Iterator接⼝相⽐,ListIterator多了⼀些add()之类的⽅法,允许添加,删除,设定元素,还能向前或向后遍历。

Java上机题及答案3.

Java上机题及答案3.
import java.applet.*;
import java.awt.Graphics;
import java.util.Date;
public class Example1_3 extends Applet {//继承Applet超类
public Date d;
public void init()//Applet的初始化方法
关键代码如下所示:
int student[] = {95,85,75,65,55};//声明并初始化一个数组,用存放5个学生成绩
for(int i=0;i<5;i++)//通过循环分别判判断每个学生成绩
{
switch(student[i]/10)//使用switch语句,并将成绩整除10后的值作为比较因子
System.out.println("Short data d="+d);//输出短整型变量d的值
System.out.println("Char data c="+c);//输出字符型变量c的值
System.out.println("long data e="+e);//输出长整型变量e的值
System.out.println("float data f="+f);//输出单精度型变量f的值
{
int a = 1;//声明并初始化整型变量a
byte b = 127;//声明并初始化字节型变量b
short d = 200;//声明并初始化短整型变量d
char c = 'C';//声明并初始字符型变量c
long e = 9000000;//声明并初始化长整型变量e

使用Java实现面向对象编程2、第二章-继承(上机实操手册)

使用Java实现面向对象编程2、第二章-继承(上机实操手册)

JA V AOOP第二章上机步骤上机练习一、训练要点:继承子类重写父类方法理解继承中的初始化过程需求说明:优化电子宠物系统使用继承实现Dog类和Penguin类打印宠物信息实现思路:步骤:1、将第一章的工程导入2、在cn.jbit.epet包下新建ch02包在此包下,创建Pet类,定义属性和方法,定义print()方法,定义无参和有参构造方法package cn.jbit.epet.ch02;/***宠物类,狗狗和企鹅的父类。

* 更多资源可在阿升老师的【与或非】公号中自行查找*@author*/public class Pet {private String name = "无名氏";// 昵称private int health = 100;// 健康值private int love = 0;// 亲密度/***无参构造方法。

*/public Pet() {this.health = 95;System.out.println("执行宠物的无参构造方法。

");}/***有参构造方法。

*@param name昵称*/public Pet(String name) { = name;System.out.println("执行宠物的有参构造方法。

");}public String getName() {return name;}public void setName(String name) { = name;}public int getHealth() {return health;}public void setHealth(int health) {this.health = health;3、创建Dog类,继承pet类,增加strain(品种)属性及相应的getter/set方法。

及有参构造package cn.jbit.epet.ch02;/***狗狗类,宠物的子类。

华南农业大学农科Java上机实验

华南农业大学农科Java上机实验

实验1 创建、编译与运行Java程序17268 计算两个整数得与从键盘输入两个整数,计算并输出两个整数得与。

import java、util、Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System、in);a=input、nextInt();b=input、nextInt();int c = a + b;System、out、println(c);}}17269 输出两个整数中得较大得值从键盘输入两个整数,判断并输出两个整数中较大得值。

import java、util、Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System、in);a=input、nextInt();b=input、nextInt();if(a>b)System、out、println(a);elseSystem、out、println(b);}}实验2 基本数据类型、运算与表达式18135 在显示屏上显示指定字符要求编写一个程序,在显示屏上显示如下内容。

注:类名必须为Main(大写M) C:\ABC、TXT is "file"public class Main {public static void main(String[] args) {System、out、print("C:\\ABC、TXT is \"file\"");} }18136 计算圆得面积由键盘输入圆得半径,计算并输出圆得面积,结果保留2位小数。

注:类名必须为Main(大写M)import java、util、Scanner;import java、text、DecimalFormat;public class Main {public static void main(String[] args) {double a,b,c;Scanner input = new Scanner(System、in);a = input、nextDouble();b = 3、14159;c = a*a*b;System、out、println(new DecimalFormat("#、##")、format(c));}}18138 输出三位整数得各位数字从键盘输入一个3位得整数,要求按照:个位、十位与百位得顺序输出三个数字。

Java上机实验指导书

Java上机实验指导书
intnumber=random.nextInt(100)+1;//random.nextInt(100)产生[0,100)中的随机整数
intyourGuess=0;
System.out.println("输入你的猜测");
yourGuess=reader.nextInt();
while([代码1])
System.out.println(“tank2目前的速度:”+tank2.getSpeed());
System.out.println(“tank1开火:”);
tank1.fire();
System.out.println(“tank2开火);
tank2.fire();
tank2.fire();
图1-5
(三)使用EditPlus
要编写Java程序,需要有文本编辑器。可以使用操作系统提供的记事本作为编辑器,最好选择EditPlus编辑软件,它可以使用不同颜色显示Java的关键字和类名,简单好用,同时可以对程序进行编译和运行。
1.下载并安装EditPlus编辑软件EditPlus编辑软件的安装方法很简单,安装软件提示要求去做即可。
1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。
2.键入编译命令和要谝译的源程序文件名,
javac Hello.java
按回车键开始执行(注意:文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个同名字的.class文件“Hello. class”,如图1-7所示。否则,将显示出错信息。
}
}
System.out.println("猜对了;");

Java上机题目及答案代码

Java上机题目及答案代码

Java上机实践三实验题目1假设字符串s1、s2、s3的定义如下:String s1 = “A String”;String s2 = “A String”;String s3 = s1;请写出下列表达式的值:s1 == s2s1 == s3s1.length()s1.equals(s2)s1.equals(s3)pareTo(s2)pareTo(s3)s1.concat(s3)s1.indexOf(‘t’)stIndexOf(‘t’)实验目的(1)熟悉字符串类String。

(2)学习创建类String的对象。

(3)学习使用类String执行字符串操作。

实验步骤(1)按题目的要求创建String对象s1、s2,并声明对象引用s3指向s1;(2)调用String类的相关方法,执行指定操作并输出结果。

package lab1;public class Showstr {public static void main(String[] args){String s1 ="A String";String s2 ="A String";String s3 = s1;System.out.println(s1 == s2);System.out.println(s1 == s3);System.out.println(s1.length());System.out.println(s1.equals(s2));System.out.println(s1.equals(s3));System.out.println(pareTo(s2));System.out.println(pareTo(s3));System.out.println(s1.concat(s3));System.out.println(s1.indexOf('t'));System.out.println(stIndexOf('t'));}}实验2 Java异常处理一、实验目的1)掌握Java异常的概念及工作机制 2)掌握异常的分类3)掌握抛出异常语句的使用(throw)4)掌握抛出捕获处理异常语句的使用(try…catch…finally)5)掌握上抛异常语句的使用(throws)6)掌握创建自定义异常二、实验环境JDK1.6+Eclpise3.2三、实验内容1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。

Java上机1

Java上机1

1、搭建Java开发平台,设置JDK环境参数2、打开Eclipse,创建第一个Java程序(1)package .fjnu.hyan;publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubSystem.out.println(“hello,world”);}}(2)publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubSystem.out.println(args[0]);System.out.println(args[1]);System.out.println(args[2]);System.out.println(args[3]);}}3、数据类型转换练习(1)自动类型转换publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubint x=10;double y;y=x;System.out.println("y="+y);}}(2)强制数据类型转换publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubfloat a=35.25f;int b=(int)a;long c=(long)a;}}3、运算符练习(1)publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubint a=5,b=5;int c=a++;int d=++b;System.out.println("c="+c);System.out.println("d="+d);System.out.println("a="+a);System.out.println("b="+b);}}(2)publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubint a=10,b=3;float d=10.0f;int c=a/b;float e=d/b;System.out.println("c="+c);System.out.println("e="+e);}}(3)publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubint a=11;System.out.println(a<<1);}}(4)publicclass test {publicstaticvoid main(String[] args) { // TODO Auto-generated method stubbyte a=23;//00010111byte b=26;//00011010System.out.println(a&b);System.out.println(a|b);System.out.println(a^b);}}。

国泰君安证券java上机题目

国泰君安证券java上机题目

国泰君安证券java上机题目国泰君安证券Java上机题目及对应解析近年来,计算机科学的发展迅猛,软件工程师成为越来越受欢迎的职业。

国泰君安证券是一家知名的金融机构,为了吸引优秀的软件工程师加入他们的团队,他们设计了一道Java上机题目。

本文将介绍这道题目及其解析。

题目要求是设计一个Java类,用于存储并计算员工的工资信息。

具体要求如下:1. 员工信息包括姓名(name)、基本工资(baseSalary)和职位津贴(positionAllowance)三个属性。

2. 该类需提供一个带有三个参数的构造方法,用于初始化员工的姓名、基本工资和职位津贴。

3. 该类还需提供一个用于计算员工总工资的方法,将基本工资和职位津贴相加后返回。

4. 如果员工职位为经理(Manager),职位津贴为基本工资的30%;如果员工职位为普通员工(Staff),职位津贴为基本工资的10%。

5. 请注意适当的封装和数据类型选择,并提供必要的访问器方法。

解析部分:首先,我们需要创建一个Java类,命名为Employee。

然后,根据题目的要求,定义三个属性:name、baseSalary和positionAllowance,并使用适当的数据类型进行声明和封装。

```javapublic class Employee {private String name;private double baseSalary;private double positionAllowance;public Employee(String name, double baseSalary, double positionAllowance) { = name;this.baseSalary = baseSalary;this.positionAllowance = positionAllowance;}}```接下来,我们需要实现一个用于计算员工总工资的方法。

[整理版]java面向对象上机

[整理版]java面向对象上机

1、已知长方形的长和宽,计算面积(并验证是不是正方形);2、编写程序输入5学生的姓名和年龄并打印出来,同时求出平均年龄。

3、编写学生成绩单程序,可以从键盘读取下列各项,1、学生姓名2、学科编号3、学生成绩(假设有4门课),此程序应显示考试分数,由于计算和显示5个学科的总分和平均分;1、编写一个程序,使用带参数的构造函数和一个方法显示两个整数的值。

创建两个对象,分别传递值集(10,20)和(30,40)。

重载+操作符,将这两个对象的两个x值和两个y值相加,形成一个新对象(x,y)2、编写一个方法重载的程序,定义两个同名的重载方法,一个方法只接受整数参数a,整数参数b;另一个方法接受小数参数a,整数参数b,并且都返回a的b次幂。

3、编写一个程序,用于模拟银行账户的基本操作,如为初始余额赋值,存取现金操作以及使用任意方式修改余额后都可以随时查看账户余额。

请用重载的带参数的构造函数4、以一教研室的环境为例,这里包括学生、教授还有职员。

对这些人员分别划分类层次,定义并实现相应的类。

学生:姓名、年龄、身份证号码、学号、年级、所属的导师(即就是由哪个导师带课题设计)职员:姓名、年龄、身份证号码、薪水。

教授:姓名、年龄、身份证号码、薪水、研究课题方向。

5、定义一个人员类Cperson,包括数据成员:姓名,编号,性别,用于输入输出的成员函数,在此基础上派生出学生类Cstudent(增加成绩)和教师类Cteacher(增加教龄),并实现对学生和信息的输入和输出。

6、定义一个字符串类Cstrone,包含一格存放字符串的数据成员,能够通过构造函数初始化字符串,通过成员函数显示字符串内容,在此基础上,派生出Cstrtwo类,增加一个存放字符串的数据成员,并能通过派生类的构造函数传递参数初始化两个字符串,通过成员函数进行两个字符串的合并以及输出7、把定义平面直角坐标系的一个点的类Cpoint作为基类,派生出描述一条之间的类Line,再派生出一格矩形类,要求成员函数能求出两点间的距离,矩形的周长和面积。

第五周上机题

第五周上机题

Java与面向对象程序设计上机报告(第五周)
第一题:
PP4.1 设计并实现类Sphere,该类所包含的实例数据表示球的直径。

定义Sphere构造方法接收和初始化直径的值,并且定义获取和设置直径的方法。

定义一个方法计算并返回球的体积和表面积(计算公式参见PP3.5)。

定义方法toString返回一行描述该球体的字符串。

创建一个驱动类MultiSphere,该类的main方法实例化并更新若干个Sphere对象。

第二题:
PP4.10 创建类Crayon,代表一支特定颜色和长度的粉笔。

设计并实现一个程序画一盒粉笔。

提示:参考例题4.7 4.8 4.9
温馨提示
(1)当堂完成实验程序并达到题目要求的同学,请最迟于当天晚上十点前把实验报告完成并发到教师邮箱(liang_ru_bing@),本次实验成绩给满分;
(2)其他收到的邮件,视为非当堂完成的实验报告,则按完成情况酌情打分。

报告最迟提交时间为本周日。

(3)为防止重名弄错,实验报告文件名请用“信科X班XXX第X周.doc”来命名,谢
谢配合!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.util.Scanner;publicclass test1 {publicstaticvoid main(String[] args) {System.out.println("输入一个正整数");Scanner in = new Scanner(System.in);int n = in.nextInt();//以上两句为java输入一般用的语句int sum = 0;for (int i = 1; i <= n; i++) {sum = sum + i;}System.out.println("sum=" + sum);}}import java.util.Scanner;publicclass test2 {publicstaticvoid main(String[] args) { Scanner in = new Scanner(System.in);int[] n =newint[10];int max,min,temp;System.out.println("请输入10个数");max=min=n[0]=in.nextInt();for (int i = 1; i < 10; i++) {n[i]=in.nextInt();if(n[i]>max)max=n[i];if(n[i]<min)min=n[i];}System.out.println("最大值为:"+max);System.out.println("最小值为:"+min);}}import java.util.Arrays;publicclass vector {float [] v; //属性public vector(float[] v) {this.v=v;//构造函数}public vector add(vector a)throws Exception {//传进来的是这个类的对象if(v.length!=a.v.length)thrownew Exception("向量维数不同");//如果维数不同,抛出异常for (int j = 0; j <v.length; j++) { //做一个循环,让向量的每个分量都相加v[j]=a.v[j]+v[j];}//向量分量相加,v[j]为实例化后这个类的一个成员变量,//a为这个类的一个对象,所以用a.v[j]为a这个对象对应的向量returnthis;}publicfloat dotProduct(vector a) throws Exception {if(v.length!=a.v.length)thrownew Exception("向量维数不同");//如果维数不同,抛出异常float dot=0;for (int i = 0; i <v.length; i++) {dot+=a.v[i]*v[i];}//同上addreturn dot; //这个是算向量积,所以返回的是得到的浮点数结果}public String toString() {//tostring函数只要返回值String s ="(";//先加个括号for (int i = 0; i <v.length - 1; i++) {s = s +String.format("%10.4f",v[i])+ ",";//依次在字符串s中加前n-1个向量元素,并加上逗号}//String.format("%10.4f",v[i]) format为string类的一个方法,作用是:使用指定的格式字符串和参数返回一个格式化字符串s =s+String.format("%10.4f",v[v.length-1])+")";return s;}publicstaticvoid main(String[] args) {float v1[]={(float) 1.1,(float) 2.2,(float) 3.3,(float) 4.4,(float) 5.5};float v2[]={(float) 1.1,(float) 2.2,(float) 3.3,(float) 4.4,(float) 5.5};//声明两个数组vector ve1=new vector(v1);vector ve2=new vector(v2);//声明两个vector类对象try {System.out.println(ve1.dotProduct(ve2));} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}try {ve1.add(ve2);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(ve1);}}publicclass Complex {float real;float imagin;//类的两个成员变量public Complex() {this.real=0;this.imagin=0;//构造函数}public Complex(float real, float imagin) {this.real = real;this.imagin = imagin;//重载的构造函数}privatestatic Complex add(Complex cp1, Complex cp2) {//add方法Complex cp = new Complex();//新建相加后的复数对象cp.real=cp1.real+cp2.real;cp.imagin=cp1.imagin+cp2.imagin;//做相加运算System.out.println(cp);//打印相加后的对象return cp;//返回相加后的复数对象}public String toString() {if(real == 0 &&imagin == 0)return"0";//当实部和虚部都为0是,输出0if(real == 0)return String.format("%10.4f", imagin)+"i";//实部为0,只需输出虚部if(imagin == 0)return String.format("%10.4f", real);//虚部为零,只需输出实部if(imagin> 0)return String.format("%10.4f", real) + "+" + String.format("%10.4f", imagin)+"i";//虚部>0用加return String.format("%10.4f", real) + "-" +String.format("%10.4f", -imagin)+"i";//虚部<0用减}publicstaticvoid main(String[] args) {Complex cp1= new Complex(1, 2);Complex cp2 = new Complex(3, -4);//实例化对象add(cp1,cp2);}}publicclass Student {long id;String name;int age;boolean sex;String phone;//声明成员变量public Student(long id, String name, int age, boolean sex, String phone) {super();this.id = id; = name;this.age = age;this.sex = sex;this.phone = phone;//构造函数}public String toString() {return"Student [name=" + name + ", phone=" + phone + "]";}publicstaticvoid main(String[] args) {Student at=new Student(411108, "hud", 20, true, "188293292");//实例化对象System.out.println(at);}}importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;public class TestB2 extends JFrame {JTextField text1 = new JTextField(10);JTextField text2 = new JTextField(10);JTextField text3 = new JTextField(10);JTextField text4 = new JTextField(10);// 声明4个文本框public TestB2() {setSize(200, 200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);// 让窗口打开时在桌面中间JLabel label1 = new JLabel("请输入第一个数:");JLabel label2 = new JLabel("请输入第二个数:");JLabel label3 = new JLabel("请输入第三个数:");JLabel label4 = new JLabel("最小的一个数:");//新建4个标签JButton button = new JButton("执行");//新建按钮button.addActionListener(new ButtonAction());//为按钮添加事件响应Container container = getContentPane();//声明容器JPanel pane1 = new JPanel(new FlowLayout());JPanel pane2 = new JPanel(new FlowLayout());//声明两个流式面板pane1.add(label1);pane1.add(text1);pane1.add(label2);pane1.add(text2);pane1.add(label3);pane1.add(text3);pane2.add(button);pane2.add(label4);pane2.add(text4);//将组件加入各面板container.add(pane1, BorderLayout.CENTER);container.add(pane2, BorderLayout.SOUTH);//将面板加入容器中pack();}classButtonAction implements ActionListener {public void actionPerformed(ActionEvent e) {//事件响应函数double a = Double.parseDouble(text1.getText());double b = Double.parseDouble(text2.getText());double c = Double.parseDouble(text3.getText());//返回一个新的double 值,//该值被初始化为用指定String 表示的值,即把Text中的字符串转化为数组if (a < b){if (a < c)text4.setText(String.valueOf(a));}else if (b < c)text4.setText(String.valueOf(b));elsetext4.setText(String.valueOf(c));//比大小,String.valueOf(c)是把double 型的数转化为string}}public static void main(String[] args) {TestB2 tb = new TestB2();}}import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;publicclass TestB3extends JFrame {JTextField text1 = new JTextField(10);JTextField text2 = new JTextField(10);JTextArea text3 = new JTextArea(10, 10);// 声明三个组件,分别为两个文本框一个文本域public TestB3() {setSize(200, 200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);JLabel label1 = new JLabel("请输入一个大数:");JLabel label2 = new JLabel("请输入一个小数:");JButton button = new JButton("执行");// 组件的声明button.addActionListener(new ButtonAction());// 添加事件的监听Container container = getContentPane();// 声明容器JPanel pane1 = new JPanel(new FlowLayout());JPanel pane2 = new JPanel(new FlowLayout());// 声明两个面板pane1.add(label1);pane1.add(text1);pane1.add(label2);pane1.add(text2);pane2.add(button);pane2.add(text3);// 面板中加组件container.add(pane1, BorderLayout.CENTER);container.add(pane2, BorderLayout.SOUTH);// 把面板放入容器pack();}class ButtonAction implements ActionListener {publicvoid actionPerformed(ActionEvent e) {text3.setText("");// 先把结果栏清空int a = Integer.parseInt(text1.getText());int b = Integer.parseInt(text2.getText());// 讲输入的字符串转成整数int[] c = newint[a - b];int count = 0;for (int i = b; i <= a; i++) {boolean flag = true;for (int j = 2; j <= Math.sqrt(i); j++) {// 验证素数只要除到他的平方根if (i % j == 0) {flag = false;break;}}// 如果能整除,就不是素数if (flag && i != 1)// 除了1和其本身,不能整除c[count++] = i;// 用c数组记录是素数的数}for (int i = 0; i < count; i++) {if (i % 10 == 9)text3.setText(text3.getText() + "\n");// 每10个换行elsetext3.setText(text3.getText() + c[i] + ", ");// 不是10个用逗号隔开}}}publicstaticvoid main(String[] args) {TestB3 tb = new TestB3();}}importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;public class TestCaculator8 extends JFrame implements ActionListener {Container container = getContentPane(); //创建一个容器对象GridLayoutlayDigital = new GridLayout(3,4); //设置layDigital的布局为3行4列的网格JLabel j1=new JLabel("Connect Number"); // 新建一个标签JTextField result=new JTextField(10); //新建一个文本框JButton sure=new JButton("确定");//新建一个确定按钮JButton esc=new JButton("取消");//新建一个取消按钮JPanel J2=new JPanel(new FlowLayout());//新建名为j2的面板,它的布局是流式JPanel front=new JPanel(new FlowLayout());//新建名为front的面板,它的布局是流式JPanelpDigital = new JPanel(layDigital);//新建名为pDigital的面板,他的布局是3*4的网格JButton[] bDigtal = {new JButton("0"), new JButton("1"), new JButton("2"),newJButton("3"), new JButton("4"), new JButton("5"),newJButton("6"), new JButton("7"), new JButton("8"),new JButton("9"), new JButton("*"), new JButton("#") };//新建12个按钮public static void main(String[] args) {TestCaculator8 tc = new TestCaculator8();//实例化对象unchFrame();//调用tc的lanuchFrame方法}public void launchFrame() {setLocation(400, 400);setTitle("计算器");container.setLayout(new BorderLayout());//设置这个容器的布局管理器为边界分布管理器for (int i = 0; i <bDigtal.length; i++) {pDigital.add(bDigtal[i]);//把数字按钮添到面板中bDigtal[i].addActionListener(this);//为数字按钮添加动作监听器}sure.addActionListener(this);esc.addActionListener(this);front.add(j1);//在流式面板front中添加j1标签front.add(result);//在流式面板front中添加result文本框J2.add(sure);//在流式面板J2中添加确定按钮J2.add(esc);//在J2面板中添加取消按钮container.add(front,BorderLayout.NORTH);//在容器中添加front面板,为边界布局管理器,在屏幕的上方container.add(pDigital, BorderLayout.CENTER);//在容器中添加pDigital面板,为边界布局管理器,在屏幕的中间container.add(J2,BorderLayout.SOUTH);//在容器中添加J2面板,为边界布局管理器,在屏幕的下方pack();//使setVisible(true);}public void clear() {result.setText("");//设置result文本框的内容j1.setText("Connect Number");}public void actionPerformed(ActionEvent e) { //事件响应函数,当出发上面的事件监听时调用String s = e.getActionCommand(); //获取与当前命令相关的命令字符串String sResult = result.getText();//设置sResult为当前文本框的内容switch(s){case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":case "*":case "#":result.setText(s+sResult);//当按下的是以上按钮时,将它加入文本框中break;case "确定":j1.setText("connecting");//设置标签文字break;case "取消":clear(); //实现clear方法break;}}}importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JTextField;public class TestComputer9 extends JFrame {Container container = getContentPane();//创建一个容器对象GridLayout G1 = new GridLayout(6, 1);//设置G1为6行1列的网格JLabel j1=new JLabel("计算无理数e的近似值");//新建标签JLabel j2=new JLabel("给出选项n:");//新建标签JLabel j3=new JLabel("近似值");//新建标签JButton b1=new JButton("执行");//新建按钮public JComboBoxjc = new JComboBox();//新建选择框JTextFieldjt=new JTextField(20);//新建文本框public static void main(String[] args) {TestComputer9 tc = new TestComputer9();unchFrame();}public void launchFrame() {int n=20;setLocation(400, 400);setTitle("计算器");for (int i = 1; i <=n; i++) {jc.addItem(i);}b1.addActionListener(new Myactionlistener());//为执行按钮添加事件的监听container.setLayout(G1);//在容器中设置布局管理器为G1的6*1container.add(j1);//添加j1组件container.add(j2);//添加j2组件container.add(jc); //添加jc组件container.add(j3);//添加j3组件container.add(jt);//添加jt组件container.add(b1);//添加b1组件jt.setEditable(false);//设置选择框不可编辑pack();setVisible(true);}classMyactionlistener implements ActionListener{public void actionPerformed(ActionEvent e) {int b=1;double a=1;String s = e.getActionCommand(); //获取与当前命令相关的命令字符串int n=(int)jc.getSelectedItem();//返回当前所选项for (int j = 1; j<=n ; j++) {b=b*j;a=a+1.0/b;}//利用展开式计算jt.setText(String.valueOf(a));}//设置文本框的内容为a的字符串形式}}。

相关文档
最新文档