java程序设计题库.docx
《java程序设计题库.docx》由会员分享,可在线阅读,更多相关《java程序设计题库.docx(27页珍藏版)》请在冰豆网上搜索。
java程序设计题库
2016-2017学年第2学期
Java程序设计作业
1.简答题
(1)publicclassVariables{
staticStringhello="Hello,";//方法外声明的变量是成员变量
publicstaticvoidmain(Stringargs[]){//方法定义中声明的变量是参数变量
Stringname="Bill";//方法内声明的变量是局部变量
System.out.println(hello+name+"!
");
//可以引用成员变量、方法参数变量和已经声明过局部变量
}
}
什么是局部变量和成员变量?
Hello和name属于什么变量?
他们作用范围,请结合程序进行说明?
答:
局部变量:
(2)importjava.util.*;
publicclassAbsoluteIfElse{
publicstaticvoidmain(String[]args){
inti;
Scannerscanner=newScanner(System.in);
System.out.println("请用键盘输入一个整数,然后单击回车键:
");
i=scanner.nextInt();
if(i>=0)System.out.println("这个整数的绝对值是:
"+i);
else{//用一对花括号构成语句块
i=-i;
System.out.println("这个整数的绝对值是:
"+i);
}
}
}
程序运行结果是什么?
请用键盘输入一个整数,然后单击回车键:
-65
这个整数的绝对值是:
65
(3)publicclassBooleanExpression{
publicstaticvoidmain(String[]args){
inti,j;
floatf;
booleanb;
i=1;j=3;f=1.2f;
b=i==j;System.out.println("b="+b);//关系运算符的优先级高于赋值运算符
b=i<=f;System.out.println("b="+b);
b=(i<=f)&&(f<=j);System.out.println("b="+b);
b=!
((i>f)||(f>j));System.out.println("b="+b);
b=(i<=f)||(f<=j);System.out.println("b="+b);
}
}
程序运行结果是什么?
b=false
b=true
b=true
b=true
b=true
(4)publicclassTest7{
publicstaticvoidmain(String[]args){
intsum=0;
for(inti=1;i<=10;i++){
sum=sum+i;
}
System.out.println("1~10之间所有数之和为:
"+sum);
}
}
程序运行结果是什么?
1~10之间所有数之和为:
55
(5)importjava.util.Scanner;
publicclassCheckTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.print("请输入一个整数:
");
intnum=sc.nextInt();
if(num%5==0&&num%6==0){
System.out.println(num+"能被5和6同时整除。
");
}
if(num%5==0||num%6==0){
System.out.println(num+"能被5或6整除。
");
}
if(num%5==0^num%6==0){
System.out.println(num+"能只被5或只被6整除。
");
}
}
程序运行结果是什么?
请输入一个整数:
10
10能被5或6整除。
10能只被5或只被6整除。
(6)importjava.util.Scanner;
publicclassScoreGrade{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.print("请输入成绩:
");
doublescore=sc.nextDouble();
Stringgrade="";
if(score>100||score<0){
System.out.println("输入的成绩不正确。
");
System.exit(0);//结束程序运行
}elseif(score>=90){
grade="优秀";
}elseif(score>=80){
grade="良好";
}elseif(score>=70){
grade="中等";
}elseif(score>=60){
grade="和格";
}else{
grade="不和格";
}
System.out.println("你的成绩为:
"+grade);
}
}
程序运行结果是什么?
请输入成绩:
45
你的成绩为:
不和格
请输入成绩:
98
你的成绩为:
优秀
请输入成绩:
63
你的成绩为:
和格
2设计题
(1)要求:
设计一个程序,要求一次只能输入一个学生学号、姓名和成绩,然后可以显示该学生学号、姓名、成绩信息,操作过程如下:
(1)界面1
---------------------------------------
**
欢迎进入学生成绩管理系统
**
---------------------------------------
请选择您的操作:
1.录入学生成绩信息;
2.显示学生成绩信息;
0.退出;
请输入数字选项(0-2):
(2)选择数据1,开始录入学生学号、姓名和成绩(只能输入一个学生基本信息):
请输入数字选项(0-2):
1
请输入学号:
请输入学生姓名:
zhangsan
请输入成绩:
88
请选择您的操作:
1.录入学生成绩信息;
2.显示学生成绩信息;
0.退出;
请输入数字选项(0-2):
(3)输入2,显示学生成绩:
2
学生学号信息如下:
2014001
学生姓名信息如下:
zhangsan
学生成绩信息如下:
88
您选择了显示所有学生成绩信息。
请选择您的操作:
1.录入学生成绩信息;
2.显示学生成绩信息;
0.退出;
请输入数字选项(0-2):
(4)对于选择操作输入错误的处理:
例如,输入4后
请选择您的操作:
1.录入学生成绩信息;
2.显示学生成绩信息;
0.退出;
请输入数字选项(0-2):
4
输入错误,请重新输入!
请选择您的操作:
1.录入学生成绩信息;
2.显示学生成绩信息;
0.退出;
请输入数字选项(0-2):
(5)最后输入0,退出该程序。
注:
去年考题
代码如下:
publicclassTestgrade{
publicstaticvoidmain(String[]args){
intselect;
select=1;
Stringxuehao="";
Stringname="";
intchengji=0;
Scannersc=newScanner(System.in);
System.out.println();
System.out.println("---------------------------------------");
System.out.println("**");
System.out.println("欢迎进入学生成绩管理系统");
System.out.println("**");
System.out.println("---------------------------------------");
while(true)
{
System.out.println();
System.out.println("请选择您的操作:
");
System.out.println("1.录入学生成绩信息;");
System.out.println("2.显示学生成绩信息;");
System.out.println("0.退出;");
System.out.println("请输入数字选项(0-2):
");
select=sc.nextInt();
System.out.println();
//判断输入,0退出
if(select>=0&&select<=2)
{
switch(select)
{
case1:
System.out.println("请输入学号:
");
xuehao=sc.next();
System.out.println();
System.out.println("请输入学生姓名:
");
name=sc.next();
System.out.println();
System.out.println("请输入成绩:
");
chengji=sc.nextInt();
System.out.println();
break;
case2:
System.out.println("学生学号信息如下:
"+xuehao);
System.out.println("学生姓名信息如下:
"+name);
System.out.println("学生成绩信息如下:
"+chengji);
System.out.println("您选择了显示所有学生成绩信息。
");
break;
case0:
System.exit(0);
}
}
else
{
System.out.println("输入错误,请重新输入!
");
continue;
}
}
}
}
(2)编写一个程序,实现计算1+2+3+……+n的n项和的功能,n由键盘输入与控制
Scannersc=newScanner(System.in);
System.out.println("求1-n的和,请输入n的值:
");
intsum=0;
intn=sc.nextInt();
for(inti=1;i<=n;i++){
sum+=i;
}
System.out.println("1~n的和:
"+sum);
(3)请输入三角形的底和高,计算该三角形面积。
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入三角形的底:
");
doubledi=sc.nextDouble();
System.out.println("请输入三角形的高:
");
doublegao=sc.nextDouble();
doublemj=(di*gao)/2;
System.out.println("三角形的面积是:
"+mj);
}
(4)编写一个程序,计算矩形面积
Scannersc=newScanner(System.in);
System.out.println("请输矩形的底:
");
doubledi=sc.nextDouble();
System.out.println("请输入矩形的高:
");
doublegao=sc.nextDouble();
doublemj=di*gao;
System.out.println("矩形的面积是:
"+mj);
(5)编写一个程序,计算圆的面积
Scannersc=newScanner(System.in);
System.out.println("请输圆的半径:
");
doublesr=sc.nextDouble();
doublepai=3.1415926;
doublemj=pai*(sr*sr);
System.out.println("圆的面积是:
"+mj);
(6)计算平面空间距离的计算公式分别是经sqrt(x*x+y*y)和sqrt(x*x+y*y+z*z)
(7)已知一元二次方程ax2+bx+c=0,其中a=2,b=7,c=5。
请编写程序,计算出两个实根的值。
程序保存为ExpTest.java。
提示:
求根公式:
计算x的平方根,可调用方法:
Math.sqrt(x)来完成。
(8)已知圆半径为15,编写程序分别计算圆的周长、面积和体积,并显示计算结果。
程序保存为ExpTest3.java
(9)设计一个程序,用于判断某个月份的天数。
程序保存为ExpTest4.java。
(10)已知函数为y=x;0≤x≤1
3x2+2x+1;x>1
编写程序,根据x的值,计算出该函数y的值。
程序保存为ExpTest5.java
(11)某商品每公斤价格13.20,如果顾客购买100公斤和以上价格可以打9折;如果购买50公斤和以上100公斤以下,价格打9.5折。
请编写程序,计算在不同购买重量时顾客应该付的金额。
程序保存为ExpTest6.java
(12)编写程序,求
的值。
程序保存为Expdemo1.java
(13)编写程序,显示如下乘法表:
程序保存为Expdemo2.java
11*1=11*2=21*3=3……1*8=81*9=9
22*2=42*3=62*4=8……2*9=18
……
88*8=648*9=72
99*9=81
(14)使用循环程序完成以下图形输出,程序保存为Expdemo3.java
*
***
*****
*******
*********
packageaaa;
publicclassggg{
publicstaticvoidmain(String[]args){
intsize=11;
if(size%2==0){
size++;
}
for(inti=0;ifor(intj=size/2;j>i+1;j--){
System.out.print("");
}
for(intj=0;j<2*i+1;j++){
System.out.print("*");
}
System.out.println("");
}
}
}
3选择题
(1)Java运行平台包括三个版本,请选择正确的三项:
()
A.JavaEEB.JavaME
C.JavaSED.Java2E
(2)publicstaticvoidmain方法的参数描述是:
()
A.Stringargs[]B.String[]args
C.Stringsargs[]D.Stringargs
(3)编译JavaApplication源文件将产生相应的字节码文件,扩展名为()
A..javaB..class
C..htmlD..exe
(4)从下面选项中,选择三个有效的标示符:
()
A.IDoLikeTheLongNameClassB.$byte
C.constD._ok
E.3_case
(5)下面哪一项在java中是非法的标识符?
()
A.$user
B.point
C.You&me
D._endline
(6)下列不属于Java保留字的是:
()
A.sizeof
B.super
C.abstract
D.break
(7)下面哪些java语句会导致无限循环()。
I、while(true)i=0;
II、while(false)i=1;
III、while(!
false)i=0;
A、仅仅III
B、I和III
C、仅仅I
D、I,II和III
(8)下列整型数据类型中,需要内存空间最少的是()。
A.shortB.long
C.intD.byte
(9)下面代码执行后,正确的输出结果是:
()
publicclassExample{
publicstaticvoidmain(Stringargs[]){
intl=0;
do{
System.out.println("Doingitforlis:
"+l);
}while(--l>0);
System.out.println("Finish");
}
}
A.Doingitforlis3
B.Doingitforlis1
C.Doingitforlis2
D.Doingitforlis0
E.Doingitforlis?
C1
F.Finish
(10)若有定义inta=1,b=2;那么表达式(a++)+(++b)的值是:
()
A.3B.4
C.5D.6
(11)若有定义inta=9,b=6;那么a>b的值是:
()
A.0B.1
C.falseD.true
(12)假定有变量定义:
intk=7,x=12;那么能使值为3的表达式是:
()
A.x%=(k%=5)B.x%=(k-k%5)
C.x%=k-k%5D.(x%=k)-(k%=5)
(13)设x=1,y=2,z=3,则表达式y+=z--/++x的值是()
A.3B.3.5
C.4D.5
(14)作为Java应用程序入口的main方法,其声明格式是()
A.publicstaticintmain(Stringargs[])B.publicstaticvoidmain(Stringargs[])
C.publicvoidmain(Stringargs[])D.publicintmain(Stringargs[])
(15)下面命令正确的是()
A.javaAppFirst.javaB.javaAppFirst
C.javaappfirst.classD.javacAppFirst
(16)JDK安装完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。
A.binB.jreC.includeD.doc
(17)Java语言是一种()语言。
A.机器B.汇编C.面向过程的D.面向对象的
(18)Java程序的最基本组成单位是()。
A.函数B.过程C.变量D.类
1.下面这些标识符哪个是错误的()
A.JavaworldB._sumC.2JavaProgramD.$abc
2.下列哪一组运算符的优先级顺序是从高到低排列的()
A.|、&、!
B.&、^、||C.!
、%、++D.<、<<、++
3、下面哪个赋值语句不会产生编译错误()
A.chara=’abc’;B.byteb=152;C.floatc=2.0;D.doubled=2.0;
4.下面哪个单词是Java语言的关键字()
A.FalseB.FORC.ForD.for
5.执行下面程序后,哪个结论是正确的()
inta,b,c;
a=1;b=3;c=(a+b>3?
++a:
b++);
A.a的值为2,b的值为3,c的值为1B.a的值为2,b的值为4,c的值为2
C.a的值为2,b的值为4,c的值为1D.a的值为2,b的值为3,c的值为2
6.设各个变量的定义如下,哪些选项的值为true()
inta=3,b=3;
booleanflag=true;
A.++a==bB.++a==b++C.(++a==b)||flagD.(++a==b)&flag
7.表达式(int)6.5/7.5*3的值的类型为()
A.shortB.intC.doubleD.float
8.设a,b,x,y,z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是()
A.x>y&&bx-yC.y==++xD.y+x*x++
9.下面语句输出的结果为()
Syste.out.println(5^2);
A.6B.7C.10D.25
10.对下面的语句执行完后正确的说法是:
()
intc=’c’/3;
System.out.println(c);
A.输出结果为21B.输出结果为22C.输出结果为32D.输出结果为33
11.以下选项中变量a已定义类型,合法的赋值语句为()
A.a=int(y);B.a==1;C.a=a+1=3;D.++a;
12.执行下列程序段后,ch,x,y的值正确的是:
()
intx=3,y=4;
booleanch;
ch=xA.true,3,4B.true,4,3C.false,3,4D.false,4,3
13