当前位置:首页 > (部选)JAVA各章习题及答案
} } }
if(i<=5) continue;
System.out.print(i + \
【运行结果】6 7 8 9 10
【程序解析】本程序主要考查continue语句的使用情况。由于“if(i<=5) continue;”语句,使得for循环变量i从1到5的循环过程中都不能执行“System.out.print(i + \”,只有i的值从6到10时才执行该语句,因此输出结果为“6 7 8 9 10”。 8. public class X3_3_8 {
public static void main(String[] args) { char ch='7'; int r=10; switch(ch+1){ }
System.out.print(r); } }
【运行结果】27
【程序解析】本程序主要考查switch…case语句,由于“ch+1”的值是'8',因此程序执行了“r += 8;”语句,由于该语句后没有break,因此又执行了后面的“r += 9;”语句,由于r的初值为10,因此r最后的值为27。 9. public class X3_3_9 {
public static void main(String[] args) { lable:
} }
【运行结果】3 6 7
【程序解析】本程序主要考查continue lab语句的运行情况。当程序执行到“continue lable;”语句时,程序直接跳转到外层for循环,执行下一次循环。
10. public class X3_3_10 {
public static void main(String[] args) { int j=0;
a1: for(int i=3; i>0; i--){
9
j += i;
for(int k=1; k<3;k++){ }
j *= k; if(i==k)
break a1;
a2:
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){ }
System.out.print(\
if(i==j) continue lable; System.out.print(i*3+j+\case '7': r += 7; case '8': r += 8; case '9': r += 9;
default:
}
}
}
System.out.println(\
}
【运行结果】j= 16
【程序解析】本程序主要考查break lab语句的执行情况。当程序执行到“break a1;”时,程序流程直接跳出a1所在的外层for循环,输出j的值。 四、编写程序
1.利用if语句,根据下列函数编写一个程序,当键盘输入x值时,求出并输出y的值。
y = x (x<=1) 3x-2 (1
【参考程序】 import java.io.*; public class X3_4_1 {
public static void main(String[] args) throws IOException{ } 【运行结果】
9 x = 9 y = 25
2.利用switch语句将学生成绩分级,当从键盘中输入学生成绩在100~90范围时,输出“优秀”,在89~80范围时输出“良好”,在79~70范围时输出“中等”,在69~60范围时输出“及格”,在59~0范围时输出“不及格”,在其他范围时输出“成绩输入有误!”。 【编程分析】本题主要考查switch语句的使用。由于要根据一定的数值范围来输出相应的汉字,而switch后面的表达式类型不能是一个范围,因此要把一个整数范围变成一个整数来满足要求。由于Java中的int和int运算的结果还是int型,可以把某个给定的程序除10,如89/10和81/10的结果都是8,这样就满足了要求。 【参考程序】
import java.io.*;
public class X3_4_2 {
public static void main(String[] args) throws IOException{ 10
InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int score, k;
score = Integer.parseInt(br.readLine()); if(score>100 || score<0){
InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int x, y;
x = Integer.parseInt(br.readLine()); if(x<=1) y = x;
else if(x<10) y = 3*x - 2; else y=4*x;
System.out.println(\
}
}
}
System.out.println(\输入成绩超出范围!\System.exit(1);
k = score/10; switch(k){ }
case 10: case 9:
System.out.println(\优秀\ break;
System.out.println(\良好\ break;
System.out.println(\中等\ break;
System.out.println(\及格\ break;
System.out.println(\不及格\
case 8:
case 7:
case 6:
default:
} 【运行结果】
87 良好
3.利用for循环,计算1+3+7+??+(220-1)的和。
【编程分析】本例主要考查利用for循环求一个数列的和的编程方法。数列的项数和每一项的值都已知,因此直接利用for循环和数学类中的相应方法即可实现。 【参考程序】
public class X3_4_3 {
public static void main(String[] args) { int i, sum=0; for(i=1; i<21; i++)
sum += Math.pow(2,i) - 1; System.out.println(\ } } 【运行结果】
sum = 2097130 4.已知S?1?11111??????,利用while循环编程求解n=100时的S值。 234n?1n【编程分析】本例主要考查利用while循环实现对一个数列进行加、减运算的编程方法。由于项数已经确定,因此数列的首项和末项已知,但是由于加减交替出现,可以利用一个变量sign来确定符号,设sign初始值为1,循环一次让它变一次符号,从而实现符号的交替变化。 【参考程序】
public class X3_4_4 { 11
public static void main(String[] args) { int i=1, n = 100; double sign = 1, sum = 0; while(i<=n){ double k = sign/i; sum += k; i++; sign = -sign; }
System.out.println(\ } } 【运行结果】
S = 0.688172179310195
5.利用do…while循环,计算1!+2!+3! +??+100!的和。
【编程分析】本例主要考查利用do…while循环实现数列相加的程序设计方法。由于每一项都是一个阶乘,所以在循环过程中先求阶乘,然后再相加。 【参考程序】
public class X3_4_5 {
public static void main(String[] args) { int i=1;
long fact = 1, sum = 0; do{ fact *= i; sum += fact; i++;
} while(i<=100) ;
System.out.println(\ } } 【运行结果】
sum = 1005876315485501977
7.编写打印“九九乘法口诀表”的程序。
【编程分析】本例主要考查利用循环嵌套进行程序设计的方法。“九九乘法口诀表”既涉及到行,又涉及到列,因此需要利用循环嵌套来实现,实现时还需要注意输出格式。 【参考程序】
public class X3_4_7 {
public static void main(String[] args) { int i, j;
for(i=1;i<10;i++){ for(j=1;j<=i;j++) } } } 【运行结果】 12
System.out.print(i + \
System.out.println(\
共分享92篇相关文档