Java上机题目及答案代码doc.docx
《Java上机题目及答案代码doc.docx》由会员分享,可在线阅读,更多相关《Java上机题目及答案代码doc.docx(14页珍藏版)》请在冰豆网上搜索。
Java上机题目及答案代码doc
Java上机实践三
实验题目1
假设字符串si、s2、S3的定义如下:
Stringsi="AString";
Strings2="AString";
Strings3=si;
请写出下列表达式的值:
si==s2
sl==s3
sl.length()
sl.equals(s2)
sl.equals(s3)
pareTo(s2)
pareTo(s3)
sl.concat(s3)
sl.indexOf('t')s3.lastlndexOf(r)
实验目的
(1)熟悉字符串类Stringo
(2)学习创建类String的对象。
(3)学习使用类String执行字符串操作。
实验步骤
(1)按题目的要求创建String对象sl、s2,并声明对象引用s3指向sl;
(2)调用String类的相关方法,执行指定操作并输出结果。
packagelabl;
publicclassShowstr{
publicstaticvoidmain(String[]args){
Stringsl="AString";
Strings2="AString";
Strings3=sl;
System.out.println(sl==s2);
System.out.println(sl==s3);
System.out.println(sl」ength());
System.out.println(sl.equals(s2));
System.out.println(sl.equals(s3));
System.out.println(pareTo(s2));
System.out.println(pareTo(s3));
System.out.println(sl.concat(s3));
System.out.printlnfsUndexOff1!
'));
System,out.println(s3」astlndexOf('t,));
}
}
实验2Java异常处理
一、实验目的
1)掌握Java异常的概念及工作机制2)掌握异常的分类
3)掌握抛出异常语句的使用(throw)
4)寧握抛出捕获处理界常语句的使用(try・・・catch・・・finally)
5)掌握上抛异常语句的使用(throws)
6)掌握创建白定义异常
二、实验环境
JDK1.6+Eclpise3.2
三、实验内容
1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。
测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
packageIab2;
importjava.utilputMismatchException;
importjava.util.Scanner;
publicclassErr_l{
publicstaticvoidmain(String[]args){
Scannerreader二newSeanner(System.in);
doubler;
try{
r=reader.nextDouble();
System.out.println(3.14*r*r);
}
//System.out.println(3.14*r*r);
catch(lnputMismatchExceptione){
System.out.println(“数据类型错误“+e.toString());
}
}
}
2、让算两个正数Z和,当任意一个数超出范围时,抛出口己定义的界常(NumberRangeException)。
packageIab2;
importjava.util.Scanner;
importpiler.sym;classNumberRangeExceptionextendsException!
NumberRangeException(Stringmsg){
super(msg);
}
}
publicclassErr_2{
publicstaticvoidmain(String[]args){
Seannerreader二newSeanner(System.in);
try{
inta=reader.nextlnt();
intb=reader.nextlnt();
if(a<=0||b<=0){
NumberRangeExceptione=newNumberRangeException(“Thenumberbeyondranger");
throwe;
}
System.out.println(a+b);
}
catch(NumberRangeExceptione){
System.out.println(e.toString());
}
}
}
实验3输入和输出
1.实验目的
了解流式输入输出的基本原理;掌握类File、FileInputstream、FileOutputStream的使用方法。
2.实验内容
(1)编程:
检查C:
\WINDOWS\setuplog.txt文件是否存在,若在则显示该文
件的名称和内容。
packageIab3;
importjava.io.File;
importjava.io」OException;
importjava.util.Scanner;
publicclasslnout{
privatestaticSeannerin;
publicstaticvoidmain(String[]args)throwslOException{
try{
Filefl=newFile("C:
\\WINDOWS\\setuplog.txt");
System.out.println("Dothisfileexist?
\t"+fl.exists());
System.out.println(fl.getName());
in=newScannerfnewFile("C:
\\WINDOWS\\setuplog.txt"));
while(in.hasNextLine()){
Stringstr=in.nextLine();
System.out.println(str);
}
}
catch(IOExceptione){
System.out.println(e.getMessage());
}
}
}
(2)编程:
输入5个学生的信息(包含学号、姓名、3科成绩),统计各学生的总分,然后将学生信息和统计结果存入二进制数据文件STUDENT.DAT中。
3.实验要求编程时,应考虑异常处理。
packageIab3;
importjava.io.FileOutputStream;
importjava.io」OException;
importjavaJo.ObjectOutputStream;
importjava.io.RandomAccessFile;
importjava.util.Seanner;
importjavafx.beans.value.WritableObjectValue;
classStudent{
Stringsnum;
Stringname;
intabe’sum;
publicvoidlnfo(){
Scannerreader二newSeanner(System.in);
System.out.println("Pleaseenterthename:
11);
name=reader.next();
System.out.println(HPleaseenterthestudentnumber:
11);
snum=reader.next。
;
System.out.println「Pleaseenterthreecourses^orce:
11);
a=reader.nextlnt();
b=reader.nextlnt();
c=reader.nextlnt();
sum=a+b+c;
reader.close();
}
}
publicclasslnout_2{
publicstaticvoidmain(String[]args)throwslOException{
try{
FileOutputStreamraf=newFileOutputStream(,,dari.txtll/true);
ObjectOutputStreamout二newObjectOutputStream(raf);
Student[]stu=newStudent[5];for(inti=0;i<5;i++){
stu[i]=newStudent();
(stu[i]).lnfo();
out.writeObject(stu[i]);
}
out.closef);
}
catch(IOExceptionioe){
System.out.println(ioe);
}
catch(Exceptione){
System.out.println(e);
}
}
}
实验题目4
设计计算器的GUI界面,理解使用Java屮的布局管理器。
packageIab4;
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowEvent;
importjava.awt.event.WindowListener;
importjava.util.ArrayList;
importjavax.swing」Button;
importjavax.swingJFrame;
importjavax.swingJTextArea;
publicclassMyFrameextendsJFrame{privateJButtonbtnO=newJButton(H0");privateJButtonbtnl二new
privateJButtonbtn2=newJButton("2");privateJButtonbtn3=newJButton("3");privateJButtonbtn4=newJButtonfM");
privateJButtonbtn5=newJButton(,,5H);
privateJButtonbtn6=newJButton(,,6,1);
privateJButtonbtn7=newJButton("7");
privateJButtonbtn8=newJButton("8");
privateJButtonbtn9=newJButton(n9M);
privateJButtonbtnpoint=newJButton('「);
privateJButtonbtnsqrt=newJButton(,,il1');
privateJButtonbtnadd=newJButton(H+H);
privateJButtonbtnsub=newJButton(,,J,);
privateJButtonbtnmul=newJButton(,,*n);
privateJButtonbtndiv=newJButton(,,/H);
privateJButtonbtnback=newJButton(,ljuH);
privateJButtonbtnsin二newJButtonC'sin");
privateJButtonbtnequ二newJButton(u=");
privateJButtonbtnclear=newJButton(,lCEH);
privateJTextAreainput=newJTextArea(2,21);
privateJTextAreashow=newJTextArea(,lResult:
\n,l,2,21);
privateStringresult=,H,;
privateArrayListsignpos二newArrayList();publicMyFrame(Stringtitle)
{
this();
setTitle(title);
}
privateMyFrame(){
setLayout(newFlowLayout(FlowLayout.LEADING));setSize(250,250);
setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);//%OdDshow.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);
addfbtnback);
add(btnl);
add(btn2);
add(btn3);
add(btnsub);
addfbtnclear);
add(btnO);
addfbtnpoint);
addfbtnsin);
add(btnadd);
addfbtnequ);
btnO.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
input.setText(input.getText()+"O");
}
});
btnl.addActionListener(newActionListenerf){
@Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+"l");
}
});
btn2.addActionListener(newActionListenerf){
@Override
publicvoidactionPerformed(ActionEvente){
input.setText(input.getText()+"2");
}
});
btn3.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+"3");
}
});
btn4.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
input.setText(input.getText()+"4n);
}
});
btn5.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+"5");
}
});
btn6.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+,,6M);
}
});
btn7.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+"7");
}
});
btn8.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+"8n);
}
});
btn9.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){input.setText(input.getText()+,,9,,);
}
});
btnpoint.addActionListener(newActionListener(){@Override
publicvoidactionPerformedfActionEvente){input.setText(input.getText()+".,,);
}
});
btnadd.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){signpos.add(input・getText()」ength());input.setText(input.getText()+H+H);
}
});
btnsub.addActionListener(newActionListener(){(©Override
publicvoidactionPerformedfActionEvente){signpos.addfinput・getText()」ength());input.setText(input.getText()+"-");
}
});
btnmul.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){signpos.add(input・getText()」ength());input.setText(input.getText()+"*");
}
});
btndiv.addActionListener(newActionListener(){(©Override
publicvoidactionPerformed(ActionEvente){signpos.addfinput.getText().length());input.setText(input.getText()+"/");
}
});
btnsin.addActionListener(newActionListener(){
@OverridepublicvoidactionPerformedfActionEvente){
doubleres;if(!
input.getText().isEmpty())//!
input.getText().equals(""){//!
input.getText()==""error!
!
!
res=Double.parseDouble(input.getText());
show.setText(nsin”+input.getText()+“=H+Math.sin(res));input.setText("");
}
else讦(Iresult.isEmptyO)
{
res=Double.parseDouble(result);
show.setTextf'sin"+result+"="+Math.sin(res));
input.setText("");
}
}
});
btnequ.addActionListener(newActionListener(){
@OverridepublicvoidactionPerformed(ActionEvente){
Stringin=input.getText();if(signpos.size()==0)return;doublefirst;
Stringtmp=,H,;
if(in.charAt(O)=='+'||in.charAt(O)=='-,||in.charAt(O)=='*'||in.charAt(O)=='/')
{
first=Double.parseDouble(result);
tmp=result.substring(result・indexOHJJ+l);
}
else
first二Double.parseDouble(in.substring(0,signpos.get(O)));result=String.valueOf(operator(firstQ」n));show.setText(tmp+in+“=H+result);
input^etTextC1");
signpos.clear();
}
});
btnsqrt.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
doubleres;
if(!
input.getText().isEmpty())//!
input.getText().equals(""){//!
input.getText()==""error!
!
!
res=Double.parseDouble(input・getText());show.setText(uSqrt"+input.getText()+"="+Math.sqrt(res));