当前位置:文档之家› 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型的圆的半径,计算并输出其面积。

测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。

package lab2;import java.util.InputMismatchException;import java.util.Scanner;public class Err_1 {public static void main(String[] args){Scanner reader=new Scanner(System.in);double r;try{r=reader.nextDouble();System.out.println(3.14*r*r);}//System.out.println(3.14*r*r);catch(InputMismatchException e){System.out.println("数据类型错误"+e.toString());}}}2、计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常(NumberRangeException)。

package lab2;import java.util.Scanner;import piler.sym;class NumberRangeException extends Exception{NumberRangeException(String msg){super(msg);}}public class Err_2 {public static void main(String[] args){Scanner reader=new Scanner(System.in);try{int a=reader.nextInt();int b=reader.nextInt();if(a<=0||b<=0){NumberRangeException e=new NumberRangeException("The number beyond range!");throw e;}System.out.println(a+b);}catch(NumberRangeException e){System.out.println(e.toString());}}}实验3 输入和输出1.实验目的了解流式输入输出的基本原理;掌握类File、FileInputStream、FileOutputStream的使用方法。

2.实验内容(1)编程:检查C:\WINDOWS\setuplog.txt文件是否存在,若在则显示该文件的名称和内容。

package lab3;import java.io.File;import java.io.IOException;import java.util.Scanner;public class Inout{private static Scanner in;public static void main(String[] args)throws IOException{try{File f1=new File("C:\\WINDOWS\\setuplog.txt");System.out.println("Do this file exist?\t"+f1.exists());System.out.println(f1.getName());in = new Scanner(new File("C:\\WINDOWS\\setuplog.txt"));while (in.hasNextLine()) {String str = in.nextLine();System.out.println(str);}}catch(IOException e){System.out.println(e.getMessage());}}}(2)编程:输入5个学生的信息(包含学号、姓名、3科成绩),统计各学生的总分,然后将学生信息和统计结果存入二进制数据文件STUDENT.DAT中。

3.实验要求编程时,应考虑异常处理。

package lab3;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.io.RandomAccessFile;import java.util.Scanner;import javafx.beans.value.WritableObjectValue;class Student{String snum;String name;int a,b,c,sum;public void Info(){Scanner reader=new Scanner(System.in);System.out.println("Please enter the name:");name=reader.next();System.out.println("Please enter the student number:");snum=reader.next();System.out.println("Please enter three courses'sorce:");a=reader.nextInt();b=reader.nextInt();c=reader.nextInt();sum=a+b+c;reader.close();}}public class Inout_2{public static void main(String[] args)throws IOException{try{FileOutputStream raf=new FileOutputStream("dari.txt",true);ObjectOutputStream out=new ObjectOutputStream(raf);Student []stu=new Student[5];for(int i=0;i<5;i++){stu[i]=new Student();(stu[i]).Info();out.writeObject(stu[i]);}out.close();}catch(IOException ioe){System.out.println(ioe);}catch(Exception e){System.out.println(e);}}}实验题目4设计计算器的GUI界面,理解使用Java中的布局管理器。

package lab4;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.util.ArrayList;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextArea;public class MyFrame extends JFrame{private JButton btn0=new JButton("0");private JButton btn1=new JButton("1");private JButton btn2=new JButton("2");private JButton btn3=new JButton("3");private JButton btn4=new JButton("4");private JButton btn5=new JButton("5");private JButton btn6=new JButton("6");private JButton btn7=new JButton("7");private JButton btn8=new JButton("8");private JButton btn9=new JButton("9");private JButton btnpoint=new JButton(".");private JButton btnsqrt=new JButton("¡Ì");private JButton btnadd=new JButton("+");private JButton btnsub=new JButton("-");private JButton btnmul=new JButton("*");private JButton btndiv=new JButton("/");private JButton btnback=new JButton("¡û");private JButton btnsin=new JButton("sin");private JButton btnequ=new JButton("=");private JButton btnclear=new JButton("CE");private JTextArea input=new JTextArea(2,21);private JTextArea show=new JTextArea("Result:\n",2,21); private String result="";private ArrayList<Integer> signpos=new ArrayList<Integer>(); public MyFrame(String title){this();setTitle(title);}private MyFrame(){setLayout(new FlowLayout(FlowLayout.LEADING));setSize(250, 250);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);//¾ÓÖÐshow.setEditable(false);input.setEditable(false);add(input);add(show);add(btn7);add(btn8);add(btn9);add(btndiv);add(btnsqrt);add(btn4);add(btn5);add(btn6);add(btnmul);add(btnback);add(btn1);add(btn2);add(btn3);add(btnsub);add(btnclear);add(btn0);add(btnpoint);add(btnsin);add(btnadd);add(btnequ);btn0.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"0");}});btn1.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"1");}});btn2.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"2");}});btn3.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"3");}});btn4.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"4");}});btn5.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"5");}});btn6.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"6");}});btn7.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"7");}});btn8.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"8");}});btn9.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+"9");}});btnpoint.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { input.setText(input.getText()+".");}});btnadd.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) { signpos.add(input.getText().length());input.setText(input.getText()+"+");}});btnsub.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) {signpos.add(input.getText().length());input.setText(input.getText()+"-");}});btnmul.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {signpos.add(input.getText().length());input.setText(input.getText()+"*");}});btndiv.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {signpos.add(input.getText().length());input.setText(input.getText()+"/");}});btnsin.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {double res;if(!input.getText().isEmpty())//!input.getText().equals(""){//!input.getText()=="" errorres=Double.parseDouble(input.getText());show.setText("sin "+input.getText()+" = "+Math.sin(res));input.setText("");}else if(!result.isEmpty()){res=Double.parseDouble(result);show.setText("sin "+result+" = "+Math.sin(res));input.setText("");}}});btnequ.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String in=input.getText();if(signpos.size()==0) return;double first;String tmp="";if(in.charAt(0)=='+'||in.charAt(0)=='-'||in.charAt(0)=='*'||in.charAt(0)=='/'){first=Double.parseDouble(result);tmp=result.substring(result.indexOf('=')+1);}elsefirst=Double.parseDouble(in.substring(0, signpos.get(0)));result=String.valueOf(operator(first,0,in));show.setText(tmp+in+" = "+result);input.setText("");signpos.clear();}});btnsqrt.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {double res;if(!input.getText().isEmpty())//!input.getText().equals(""){//!input.getText()=="" errorres=Double.parseDouble(input.getText());show.setText("Sqrt "+input.getText()+" = "+Math.sqrt(res));input.setText("");}else if(!result.isEmpty()){res=Double.parseDouble(result);show.setText("Sqrt "+result+" = "+Math.sqrt(res));input.setText("");}}});btnback.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String in=input.getText();if(in.isEmpty()) return;input.setText(in.substring(0, in.length()-1));if(in.endsWith("+")||in.endsWith("-")||in.endsWith("*")||in.endsWith("/"))signpos.remove(signpos.size()-1);}});btnclear.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {input.setText("");signpos.clear();}});}private double operator(double operA,int i,String str){doubleoperB=i==signpos.size()-1?Double.parseDouble(str.substring(signpos.get(i)+1)):Double.parseDouble(str.substring(signpos.get(i)+1,signpos.get(i+1) ));switch(str.charAt(signpos.get(i))){case '+':operA+=operB;break;case '-':operA-=operB;break;case '*':operA*=operB;break;case '/':operA/=operB;break;}if(i==signpos.size()-1)return operA;elsereturn operator(operA,i+1,str);}public static void main(String[] args) {MyFrame mf=new MyFrame("°Ö°Ö×öµÄ¼ÆËãÆ÷");mf.setVisible(true);}}。

相关主题