java第三章作业答案
java程序设计基础(第3版)实验指导答案 第三章

实验10import java.util.*;public class shiyan10{public static void main(String[] args){int a=0,b=0,c=0,max=0;Scanner reader=new Scanner(System.in);System.out.println("从键盘输入第一个整数");a=reader.nextInt();System.out.println("从键盘输入第二个整数");b=reader.nextInt();System.out.println("从键盘输入第三个整数");c=reader.nextInt();if(a>b)max=a;elsemax=b;if(c>max)max=c;System.out.println("最大的数是"+max);}}//在程序中输入三个整数,比较它们的大小,输出最大的数实验11public class shiyan11{public static void main(String[] args){int s=0;for(int i=0;i<100;i++){s=s+i;i++;}System.out.println("1+3+5+···+99="+s);}}//用for循环语句求1+3+5+···+99的值实验12import java.util.*;public class shiyan12{public static void main(String[] args){int a=0,i=1,s=0;Scanner reader=new Scanner(System.in);while(a<50||a>100){System.out.println("从键盘输入一个50~100的整数");a=reader.nextInt();}System.out.println("你输入的数是"+a);while(i<=a){s=s+i;i++;}System.out.println("1+2+3+···+"+a+"="+s);}}//编写从键盘输入一个范围在50~100的整数,如果不正确,则继续输入;然后求1到输入整数的累加实验13public class shiyan13{public static void main(String[]args){int i=100,s=0;do{s=s+i;i--;}while(i>0);System.out.println("100+99+98+···+2+1="+s);}}//用do-while语句求100+99+···+2+1的值实验14import java.util.*;public class shiyan14{public static void main(String[] args)int a=-1;Scanner reader=new Scanner(System.in);System.out.println("从键盘输入0~6的整数");a=reader.nextInt();while(a<0||a>6){System.out.println("输入错误");System.out.println("从键盘输入0~6的整数");a=reader.nextInt();}switch(a){case 0:System.out.println("今天是星期日");break;case 1:System.out.println("今天是星期一");break;case 2:System.out.println("今天是星期二");break;case 3:System.out.println("今天是星期三");break;case 4:System.out.println("今天是星期四");break;case 5:System.out.println("今天是星期五");break;case 6:System.out.println("今天是星期六");break;default:System.out.println("输入错误");break;}}}//让用户通过输入一个0~6的整数,显示今天是xingqijipublic class shiyan15{public static void main(String[] args){for(int i=1;i<10;i++){if(i==6)break;System.out.println(""+i);}System.out.println("\n显示完毕");for(int i=1;i<10;i++){if(i%2==0)continue;System.out.println(""+i);}System.out.println("\n显示完毕");}}//先显示1~5各个整数,然后再显示1~10的各个奇数。
明解JAVA第三章答案

明解JAVA第三章答案练习3-1package candle1220;import java.util.Scanner;public class Nightwatch {public static void main(String[] args){Scanner stdIn=new Scanner(System.in);System.out.print("整数值");int n=stdIn.nextInt();if(n>0)System.out.println("其绝对值是"+(n));elseSystem.out.println("其绝对值是"+(-n));}}练习3-2package candle1220;import java.util.Scanner;public class Nightwatch {public static void main(String[] args){Scanner stdIn=new Scanner(System.in);System.out.print("整数A:");int a=stdIn.nextInt();System.out.print("整数B:");int b=stdIn.nextInt();if(a%b==0)System.out.println(b+"是"+a+"的约数");elseSystem.out.println(b+"不是"+a+"的约数");}}练习3-3同样可以运⾏练习3-4import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("a:");int a=input.nextInt();System.out.print("b:");int b=input.nextInt();if(a>b)System.out.print("a更⼤");elseif(a==b)System.out.print("⼀样⼤");elseSystem.out.print("b更⼤");}}练习3-5import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊⼀个正整数:");int a=input.nextInt();if(a<=0)System.out.print("请输⼊正整数");else if(a%5==0)System.out.print("该值可以被5整除");elseSystem.out.print("该值不可以被5整除"); }}练习3-6import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊⼀个正整数:");int a=input.nextInt();if(a<=0)System.out.print("请输⼊正整数");else if(a%10==0)System.out.print("该值是10的倍数");elseSystem.out.print("该值不是10的倍数"); }}练习3-7import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊⼀个正整数:");int a=input.nextInt();if(a<=0)System.out.print("请输⼊正整数");else if(a%3==0)System.out.print("该值可以被3整除");else if(a%3==1)System.out.print("该值除以3余1");elseSystem.out.print("该值除以3余2");}}练习3-8import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in);System.out.print("请输⼊分数:");int a=input.nextInt();if(a>=0&&a<60){System.out.println("不及格");}else if(a>=60&&a<70){System.out.println("及格");}else if(a>=70&&a<80){System.out.println("良");}else if(a>=80&&a<=100){System.out.println("优");}else{System.out.println("请输⼊合理的分数");} }}练习3-9import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in); System.out.print("a=:");int a=input.nextInt();System.out.print("b=:");int b=input.nextInt();System.out.print(a>b?a:b);}}练习3-10import java.util.Scanner;public class New{public static void main(String[] args){Scanner input =new Scanner (System.in); System.out.print("a=");int a=input.nextInt();System.out.print("b=");int b=input.nextInt();if(a>=b)System.out.print(a-b);elseSystem.out.print(b-a);}}练习3-11import java.util.Scanner;public class New{public static void main(String[] args){Scanner input =new Scanner (System.in); System.out.print("a=");int a=input.nextInt();System.out.print("b=");int b=input.nextInt();int c=a-b;if(c>10||c<-10)System.out.print("它们的差值⼤于等于11");elseSystem.out.print("它们的差值⼩于等于10"); }}练习3-12import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner(System.in); System.out.print("a=");int a =input.nextInt();System.out.print("b=");int b =input.nextInt();System.out.print("c=");int c =input.nextInt();int min1=a<b?a:b;int min=min1<c?min1:c;System.out.print(min);}}练习3-13import java.util.Scanner;public class New{public static void main(String[] args){Scanner input=new Scanner (System.in); System.out.print("a=");int a =input.nextInt();System.out.print("b=");int b =input.nextInt();System.out.print("c=");int c =input.nextInt();int mid1=a<b?b:a;int mid=mid1<c?mid1:c;System.out.print(mid);}}练习3-14// 计算两个整数值中较⼩的值和较⼤的值import java.util.Scanner;class New {public static void main(String[] args) {Scanner stdIn = new Scanner(System.in); System.out.print("整数a:");int a = stdIn.nextInt();System.out.print("整数b:");int b = stdIn.nextInt();if(a==b){System.out.print("两个整数相等");}else{int min, max; // 较⼩的值/较⼤的值if (a < b) { // 如果a⼩于bmin = a;max = b;}else{ // 否则min = b;max = a;}System.out.println("较⼩的值是" + min + "。
Java编程基础智慧树知到课后章节答案2023年下潍坊学院

Java编程基础智慧树知到课后章节答案2023年下潍坊学院潍坊学院第一章测试1.下列关于JDK、JRE和JVM关系的描述中,正确的是()。
A:JRE中包含了JDK,JVM中包含了JRE。
B:JDK中包含了JRE,JRE中包含了JVM。
C:JDK中包含了JRE,JVM中包含了JRE。
D:JRE中包含了JDK,JDK中包含了JVM。
答案:JDK中包含了JRE,JRE中包含了JVM。
2.下面哪种类型的文件可以在Java虚拟机中运行()A:.javaB:.jreC:.exeD:.class答案:.class3.下面关于javac命令作用的描述中,正确的是()。
A:可以将编写好的Java文件编译成.class文件B:可以把文件压缩C:可以把数据打包D:可以执行java程序答案:可以将编写好的Java文件编译成.class文件4.如果jdk的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()A:c:jreB:c:jdkinC:c:jdkD:c:jrein答案:c:\jdk\bin5.下列Java命令中,哪一个可以编译HelloWorld.java文件()A:javac HelloWorld.javaB:javac HelloWorldC:java HelloWorldD:java HelloWorld.java答案:javac HelloWorld.java6.下列选项中,哪些是Java语言的特性()A:面向对象B:支持多线程C:跨平台性D:简单性答案:面向对象;支持多线程;跨平台性;简单性7.下列关于JRE目录的描述中,正确的是()?A:JRE是一个小型的数据库 B:JRE是Java运行时环境的根目录 C:JRE用于存放一些可执行程序 D:JRE是Java Runtime Environment的缩写答案:JRE是Java运行时环境的根目录;JRE是Java Runtime Environment的缩写8.在Eclipse集成开发环境中,选择【new】->【class】可以创建一个java类。
JAVA第三章课后习题答案

第一题:public class disanzhangxiti1{public static void main (String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}第二题:public class disanzhangxiti2{public static void main (String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1: c='b';System.out.print(c);case 2: c='e';System.out.print(c);break;case 3: c='p';System.out.print(c);default: System.out.print("!");}}}}第三题:public class disanzhangxiti3{public static void main (String args[]){int sum=0,a=1;int i=1;while(i<=10){sum=sum+a;i=i+1;a=a*i;}System.out.println("sum="+sum);}}第四题:public class disanzhangxiti4{public static void main(String agrs[]){int i,j,count=0;for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){if(j%i==0)break;}if(i>j/2){count++;System.out.println(""+j+"");}}System.out.println("count="+count);}}第五题:public class disanzhangxiti5{public static void main(String agrs[]){double sum=0,a=1,i=1;do{i++;sum=sum+a;a=a*(1.0/i);}while(i<=3);System.out.println("sum="+sum);}}public class disanzhangxiti5_for{public static void main(String agrs[]){double sum=0,a=1,i=1;for(i=1;i<=2;i++){sum=sum+a;a=a*(1.0/i);}System.out.println("sum="+sum);}}第六题:public class disanzhangxiti6{public static void main(String agrs[]){int a,i,sum;for(a=2;a<=1000;a++){for(sum=0,i=1;i<=a/2;i++)if(a%i==0)sum+=i;if(sum==a)System.out.println(a);}}}第七题:public class disanzhangxiti7{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){sum=sum+item;item=item*10+a;}System.out.println(sum);}}public class disanzhangxiti7_while{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;while(i<=10){i++;sum=sum+item;item=item*10+a;}System.out.println(sum);}}第八题:public class disanzhangxiti8{public static void main(String agrs[]){int sum=0,i,n=1;for(i=1;i<=n;i++){sum=sum+i;if(sum<8888)n++;if(sum>=8888)break;}System.out.println("sum="+sum);System.out.println("i="+i);}}。
java作业_3 答案

作业_31.参考课件中的例子,根据要求,请用Swing编写如下菜单程序:要求:(1)点击“选项对话框”时,分别弹出下列对话框:并在命令行中输出输入框、确认框的输入信息;(2)点击“文件选择器”时,分别弹出文件打开、保存对话框,并在命令行中输出打开、保存的文件信息;(3)点击“颜色选择器”时,弹出颜色板改变窗体的背景色。
import javax.swing.*;import java.awt.Color;import java.awt.event.*;public class JFrameTest extends JFrame {private static final long serialVersionUID = 321L;JMenu menu1;JMenu menu2;JMenu menu3;JFileChooser fileChooser;static JColorChooser colorChooser;static JFrameTest jf;static JPanel p;public JFrameTest(){jf=this;setTitle("对话框、菜单综合例子");setSize(600,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fileChooser=new JFileChooser("d:\\");setMenu();JMenuBar bar=new JMenuBar();setJMenuBar(bar);bar.add(menu1);bar.add(menu2);bar.add(menu3);p=new JPanel();add(p);setVisible(true);}public void setMenu(){menu1=new JMenu("选项对话项");menu2=new JMenu("文件选择器");menu3=new JMenu("颜色选择器");JMenuItem item1=new JMenuItem("显示输入框");JMenuItem item2=new JMenuItem("显示消息框");JMenuItem item3=new JMenuItem("显示确认框");JMenuItem item4=new JMenuItem("打开文件对话框");JMenuItem item5=new JMenuItem("保存文件对话框");JMenuItem item6=new JMenuItem("选择窗体背景颜色");item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {Object result=JOptionPane.showInputDialog(jf,"请输入您的身份证号码:","输入框",JOptionPane.QUESTION_MESSAGE);if(result!=null)System.out.println("输入框内容:"+(String)result);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {JOptionPane.showMessageDialog(jf, "吸烟有害健康", "消息框", JOptionPane.WARNING_MESSAGE);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {int i=JOptionPane.showConfirmDialog(jf, "是否保存对“myinformation.doc”的更改?", "确认框", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);if(i==0)System.out.println("确认框:选择了“是");if(i==1)System.out.println("确认框:选择了“否");if(i==2)System.out.println("确认框:选择了“取消");}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int i=fileChooser.showOpenDialog(jf);if(i==0)System.out.println("选择打开的文件是:"+fileChooser.getSelectedFile().getAbsolutePath());}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int i=fileChooser.showSaveDialog(jf);if(i==0)System.out.println("选择保存的文件是:"+fileChooser.getSelectedFile().getAbsolutePath());}});item6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Color color=JColorChooser.showDialog(jf, "选择窗体背景颜色",p.getBackground());if(color!=null){jf.setBackground(color);p.setBackground(color);}}});menu1.add(item1);menu1.add(item2);menu1.add(item3);menu2.add(item4);menu2.add(item5);menu3.add(item6);}public static void main (String args[]){ new JFrameTest();}}2、请按要求创建线程:(1)用继承Thread类方法创建线程MyThread类,该线程的功能是输出26个英文字母(大写,不换行),每输出一个字母后,休眠时间是500—2000毫秒的随机数;(2)用实现Runnable接口方法创建线程MyRunnalbe类,该线程的功能是输出26个英文字母(小写,不换行),每输出一个字母后,休眠时间是500—2000毫秒的随机数;(3)在主类中分别创建这两个类的对象t1、t2,并启动。
自考教材《java语言程序设计(一)》第三章习题解答

第三章习题解答3.1什么是面向对象技术?它有什么优点?通过面向对象的方式,将现实世界的物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。
程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
面向对象技术的最大优点是有效支持重用,使得大的程序也变得相对容易维护。
3.2面积对象的程序设计和面向过程的程序设计有什么区别?面向过程语言编程模式是:程序=数据结构+算法编程时需要考虑和内容是的程序什么、怎么做、重点考虑每个实现的细节。
面向对象的语言的编程模式是:程序=对象+消息程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
3.3在程序中类和对象有什么区别?类是同一种对象的描述,类概括了同类对象的共有性质:数据和方法。
类的每个对象都有自己的标识,但它们具有相同的一级属性和提供相同的方法。
在程序中,对象的名称用于捐弃引用对象,对象的成员变量用于存储对象的状态值,对象和方法用于描述对象的行为。
3.4 类变量和实例变量,以及类方法和实例方法的区别。
加载类之前创建对象之后调用方法访问权限成员变量实例变量不分配内存各个对象之间各自分配独立的内存空间对象名.实例变量名被实例方法,构造方法访问类变量直接分配内存各个对象之间共享这段已经分配完的内存对象名.类变量名;类名.类变量名被实例方法,类方法,构造方法访问成员方法实例方法不分配入口地址共享一个入口地址对象名.实例方法名实例变量、类变量,实例方法、类方法类方法直接分配入口地址共享这个入口地址对象名.类方法名;类名.类方法名类变量、类方法3.5 子类能继承超类的哪些成员变量和方法?同包继承不同包继承(import进来的)私有(private)不继承不继承友好(缺省默认)继承不继承受保护(protected)继承继承共有(public)继承继承3.6 子类在什么情况下能隐藏超类的成员变量和方法?解:在子类重载父类的成员变量、方法的情况下。
解析JAVA程序方案三课后答案

第3章习题解答1.如何定义方法?在面向对象程序设计中方法有什么作用?答:方法的定义包括方法名、方法形参、方法的返回值类型和方法体四部分,方法只能在类中定义。
方法是对象的动态特征的描述,对象通过方法操作属性,进而改变对象的状态,完成程序所预期的功能。
2.定义一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。
编写应用程序使用Dog。
答:public class Dog{private String name。
private String color。
private String age。
Dog(String n,String c,String a>{name = n。
color = c。
age = a。
}public String toString(> {return name + "," + color + "," + age。
}public static void main(String args[]> {Dog dog = new Dog("小白", "白色", "2岁">。
System.out.println(dog.toString(>>。
}}3.什么是访问控制修饰符?修饰符有哪些种类?它们各有何作用?答:访问控制修饰符是对类、属性和方法的访问权限的一种限制,不同的修饰符决定了不同的访问权限。
访问控制修饰符有3个:private、protected、public,另外还有一种默认访问权限。
各个修饰符的作用如下表所示:B:包中的类C:所有子类D:本类A:所有类11.定义一个表示学生的类Student,包括的成员变量有:学号、姓名、性别、年龄;成员方法有:获得学号、姓名、性别、年龄;修改年龄。
并书写Java程序创建Student类的对象及测试其方法的功能。
JAVA期末复习题及答案——第三章

JAVA期末复习题及答案——第三章一、填空题1.阅读下列程序段int i=3,j;outer:while(i>0){j=3;inner:while(j>0){if(j<2) break outer;System.out.println(j+”and”+i);j--;}i--;}被输出到屏幕第一行的结果是 3 and 3 。
2.阅读下列代码段int x=3;while(x<9)x+=2;x++;while语句成功执行的次数是 3次。
3.已知a=3,b=9,则表达式a>b?a,b的值为 9 。
4.关系运算符的运算结果一定是布尔数据类型。
5. do-while 表示的循环体会至少执行一次。
6.已知x=12,y=6,z=false,则下列表达式的值分别为(表达式之间没有执行的先后顺序):100= =x+y falsex=y+10 16z||y>x false!(y*3<=x*4) false7.跳转语句continue用于循环体时表示退出本次循环,跳转语句break用于循环体时表示退出整个循环。
二、选择题1.阅读下列程序if(x= =0) {System.out.println(“冠军”);else if(x>-3) {System.out.println(“亚军”);else {System.out.println(“季军”);若要求打印字符串“季军“,则变量x的取值范围是:DA、x=0&x<=-3B、x=0C、x>-3D、x<=-32.阅读下面程序import javax.swing.JOptionPane;public class BreakLabelTest{public static void main(String args[]){String output=””;stop:{for(int row=1;row<=10;row++){for(int column=1;column<=5;column++){if(row= =5)break stop;output+=”* “;}output+=”\n”;}output+=”\nLoops terminated normally”;}JOptionPane.showMessageDialog{null,output,”用一个标志测试break语句”,RMATION_MESSAGE);System.exit(0);}}程序运行结果是:CA、窗口中有5行* * * * *B、窗口中有5行* * * *C、窗口中有4行* * * * *D、窗口中有6行* * * * *3.下列语句中,属于多分支语句的是:BA、if语句B、switch语句C、do while语句D、for语句4.阅读下列代码public class Test2005{public static void main(String args[]){String s=”Test”;switch(s){case “Java”: System.out.print(“Java”); break;case “Language”: System.out.print(“Language”); break;case “Test”: System.out.print(“Test”); break;}}}其运行结果是:DA、JavaB、LanguageC、TestD、编译出错5.下列代码中if(x>0) {System.out.println(“first”);}else if(x>-3){System.out.println(“second”);}else {System.out.println(“third”);}要求打印字符串为“second”时,x的取值范围是:AA、x<=0并且x>-3B、x>0C、x >-3D、x<=36.下列哪个说法是正确的?BA. if语句和else语句必须成对出现B. if语句可以没有else语句对应C. switch后的表达式可以是long型D. 每个switch结构中必须有default结构7.以下语句中有语法错误的是:BA. for(; ;);B. for(int i=0, i<10, i++){}C. if(a<0) ++a;D.do{a=false;} while(a=true);8.while循环和do_while循环的区别是:DA、没有区别,这两种结构在任何情况下效果都是一样的B、while循环的执行效率比do_while循环的执行效率高C、while先循环后判断,所以循环体至少执行一次D、do_while先循环后判断,所以循环体至少执行一次9.关于for循环和while循环,下面哪个说法是正确的?BA、while循环能实现的操作,for循环都能实现B、while循环的判断条件一般是程序的结果,for循环的判断条件一般是非程序的结果C、两种循环在任何时候都可以互换,所以会使用一种就可以D、两种循环结构中都必须有循环体,循环体不能为空10.下面说法正确的是:CA、程序执行到break语句时一定会结束所有的循环B、程序执行到continue语句时会结束当前循环C、break语句和continue语句都可以和标签协同使用D、break语句和continue语句的作用相同三、判断题1.switch语句中switch后面的表达式可以是整型,字符型,还可以是复合数据类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题三一、问答题1.面向对象语言有哪三个特性?答:封装性,继承性,多态性。
2.类体内容中声明成员变量是为了体现对象的属性还是行为?答:属性。
3.类体内容中定义的非构造方法是为了体现对象的属性还是行为?答:行为。
4.什么时候使用构造方法?构造方法有类型吗?答:用类创建对象时使用构造方法。
没有类型。
5.类中的实例变量在什么时候会被分配内存空间?答:用类创建对象时会被分配内存空间。
6.什么叫方法的重载?构造方法可以重载吗?答:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即是参数的个数不同,或者是参数的类型不同。
可以。
7.类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?答:可以。
不可以。
8.类中的实例方法可以用类名直接调用吗?答:不可以。
9.简述类变量和实例变量的区别。
答:一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。
所有对象的类变量都分配给相同的一处内存,对象共享类变量。
二、选择题1.下列哪个叙述是正确的?BA.Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C.Java源文件必须含有主类。
D.Java源文件如果含有主类,主类必须是public类。
2.下列哪个叙述是正确的?DA.成员变量的名字不可以和局部变量的相同。
B.方法的参数的名字可以和方法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
3.对于下列Hello类,哪个叙述是正确的?DA.Hello类有2个构造方法。
B.Hello类的int Hello()方法是错误的方法。
C.Hello类没有构造方法。
D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。
class Hello {Hello(int m){}int Hello() {return 20;}hello() {}}4.对于下列Dog类,哪个叙述是错误的?DA.Dog(int m)与Dog(double m)互为重载的构造方法。
B.int Dog(int m)与void Dog(double m)互为重载的非构造方法。
C.Dog类只有两个构造方法,而且没有无参数的构造方法。
D.Dog类有3个构造方法。
class Dog {Dog(int m){}Dog(double m){}int Dog(int m){return 23;}void Dog(double m){}}5.下列哪些类声明是错误的?CDA)class AB)public class AC)protected class AD)private class A6.下列A类中【代码1】~【代码5】哪些是错误的?代码1,代码4 class Tom {private int x = 120;protected int y = 20;int z = 11;private void f() {x = 200;System.out.println(x);}void g() {x = 200;System.out.println(x);}}public class A {public static void main(String args[]) {Tom tom = new Tom();tom.x = 22; //【代码1】tom.y = 33; //【代码2】tom.z = 55; //【代码3】tom.f(); //【代码4】tom.g(); //【代码5】}}7.下列E类的类体中哪些【代码】是错误的。
代码4 class E {int x; //【代码1】long y = x; //【代码2】public void f(int n) {int m; //【代码3】int t = n+m; //【代码4】}}三、阅读程序1.说出下列E类中【代码1】~【代码3】的输出结果。
class Fish {int weight = 1;}class Lake {Fish fish;void setFish(Fish s){fish = s;}void foodFish(int m) {fish.weight=fish.weight+m;}}public class E {public static void main(String args[]) {Fish redFish = new Fish();System.out.println(redFish.weight); //【代码1】输出1Lake lake = new Lake();lake.setFish(redFish);lake.foodFish(120);System.out.println(redFish.weight); //【代码2】输出121System.out.println(lake.fish.weight); //【代码3】输出121 }}2.请说出A类中System.out.println的输出结果。
class B {int x = 100,y = 200;public void setX(int x) {x = x;}public void setY(int y) {this.y = y;}public int getXYSum() {return x+y;}}public class A {public static void main(String args[]) {B b = new B();b.setX(-100);b.setY(-200);System.out.println("sum="+b.getXYSum()); 输出sum=-100 }}3.请说出A类中System.out.println的输出结果。
class B {int n;static int sum=0;void setN(int n) {this.n=n;}int getSum() {for(int i=1;i<=n;i++)sum=sum+i;return sum;}}public class A {public static void main(String args[]) {B b1=new B(),b2=new B();b1.setN(3);b2.setN(5);int s1=b1.getSum();int s2=b2.getSum();System.out.println(s1+s2); 输出27}}4.请说出E类中【代码1】,【代码2】的输出结果n的输出结果。
class A {double f(int x,double y) {return x+y;}int f(int x,int y) {return x*y;}}public class E {public static void main(String args[]) {A a=new A();System.out.println(a.f(10,10)); //【代码1】 输出100System.out.println(a.f(10,10.0)); //【代码2】 输出20.0}}四、编程题用类描述计算机中CPU 的速度和硬盘的容量。
要求Java 应用程序有4个类,名字分别是PC ,CPU 和HardDisk 和Test ,其中Test 是主类。
PC 类与CPU 和HardDisk 类关联的UML 图如下图所示。
其中,CPU 类要求getSpeed()返回speed 的值;要求setSpeed(int m)方法将参数m 的值赋值给speed 。
HardDisk 类要求getAmount()返回amount 的值,要求setAmount(int m)方法将参数m 的值赋值给amount 。
PC 类要求setCUP(CPU c) 将参数c 的值赋值给cpu ,要求setHardDisk (HardDisk h)方法将参数h 的值赋值给HD ,要求show()方法能显示cpu 的速度和硬盘的容量。
主类Test 的要求:① main 方法中创建一个CPU 对象cpu ,cpu 将自己的speed 设置为2200,② main 方法中创建一个HardDisk 对象disk ,disk 将自己的amount 设置为200, ③ main 方法中创建一个PC 对象pc ,④ pc 调用setCUP(CPU c)方法,调用时实参是cpu ,⑤ pc 调用setHardDisk (HardDisk h)方法,调用时实参是disk , ⑥ pc 调用show()方法。
源程序:public class CPU{int speed;int getSpeed(){return speed;}public void setSpeed(int m){this.speed = m;}PC 与CPU 和HardDisk 关联UML 图 PCcpu:CPUHD:HardDisksetCPU(CPU):voidsetHardDisk(HardDisk):voidshow():voidCPUspeed:int setSpeed(int):void getSpeed():int HardDisk amount:intsetAmount(int):voidgetAmount():int}public class HardDisk{int amount;int getAmount(){return amount;}public void setAmount(int amount){this.amount = amount;}}public class PC{CPU cpu;HardDisk disk;void setCPU(CPU c){this.cpu = c;}void setHardDisk(HardDisk h){this.disk = h;}void show(){System.out.println("CPU速度:"+cpu.getSpeed());System.out.println("硬盘容量:"+disk.getAmount());}}public class Test{public static void main(String args[]){CPU cpu = new CPU();HardDisk disk = new HardDisk();cpu.setSpeed(2200);disk.setAmount(200);PC pc = new PC();pc.setCPU(cpu);pc.setHardDisk(disk);pc.show();}}运行结果:。