第一题:
什么是二重循环?在内层循环中视野continue和break语句,程序如何跳转
二重循环是一个循环体内又包含另一个完整的循环结构的循环,continue语句程序跳出时是跳过了内层循环中的剩余语句进入内存循环的下一次循环,break语句跳出时是跳出了本层循环,提前结束本层循环,直接执行下面的循环语句.
第二题:
编写程序,打印如下图案,要求该团的行数由用户输入。
1
1 2
1 2 3
1 2 3 4
;
public static void main(String[] args) {
int a=0;
System.out.print("请输入行数:");
Scanner shuru=new Scanner(System.in);
a =shuru.nextInt();
for(int i=1;i<=a;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"\t");
}
System.out.print("\n");
}
}
第三题:
我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡
1文钱可以买三只雉鸡。现在用100文钱买100只鸡,那么各有公鸡,母鸡,雉鸡多少只?请辨析程序实现。;
public static void main(String[] args) {
int way = 1;
int k = 0;
for(int i=1;i<=20;i++){
for(int j=1;j<=33;j++){
k = 100-i-j;
if(k%3 == 0 && (5*i+3*j+k/3 == 100)){
System.out.print("[买法 " + way++ + "] ");
System.out.println("公鸡: " +i+ "母鸡:" +j+ " 雏鸡:" +k);
}
}
}
}
第四题:
有三个班级各四名学员参赛,从控制台输入每个班级参赛学员的成绩,要求统计出3个班级所有参赛中成绩大于85的学员的平均分,
如何编程实现?
;
public static void main(String[] args) {
int[] gerencengji=new int[4];
int bangji=4;
double he=0.0;
double pinjunfen=0.0;
int xuqiubianliang=0;
Scanner a=new Scanner(System.in);
for(int i=0;i<bangji;i++){
System.out.println("请输入"+(i+1)+"班级的成绩:");
for(int j=0;j<gerencengji.length;j++){
System.out.print("第"+(j+1)+"个学员的成绩:");
gerencengji[j]=a.nextInt();
if(gerencengji[j]<85){
continue;
}
he=he+gerencengji [j];
xuqiubianliang++;
}
}
pinjunfen=he/xuqiubianliang;
System.out.println("");
}
第五题:假设一个简单的早ATM的取款过程如下:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户
“密码错误,请取卡”,结束交易。如果用户密码正确,再提示用户输入金额(amount)。ATM只能输出100元的纸币,一次取钱数
要求最低0元,最高1000元。如果用户输入的金额符合上述要求,则双打印输出用户取得钱数,最后提示用户“交易完成,请取卡”,
否则提示用户重新输入金额。
public static void main(String[] args) {
String a = "";
int b = 0;
String c = "111111";
int d = 0;
boolean e = false;
Scanner f = new Scanner(System.in);
while(d < 3 && !e){
System.out.print("请输入密码:");
a = f.next();
if(!c.equals(a)){
d++;
continue;
}
e = true;
System.out.print("请输入金额:");
b = f.nextInt();
while(b>0){
if(b<=1000 && b%100==0){
System.out.println("您取了" +b+ "元");
System.out.println("交易完成,请取卡!");
break;
}else{
System.out.print("您输入金额的金额不合法,请重新输入:");
b = f.nextInt();
continue;
}
}
}
if(!e){
System.out.print("密码错误,请取卡!");
}
}
第六题:
输入行数,打印菱形,要求如下:
1.从控制台输入菱形的高度(行数)。如果用户输入的行数合法(奇数),则打印出菱形;否则提示用户输入奇数
2.假设用户输入的行数为rows,则每行字符*的个数依次为1、3、5、7…、rows、…、7、5、3、1。
public static void main(String[] args) {
int rows = 0;
Scanner input = new Scanner(System.in);
System.out.print("请输入菱形行数:");
rows = input.nextInt();
while(rows%2 == 0){
System.out.print("请输入奇数:");
rows = input.nextInt();
}
int n = (rows+1)/2;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n-i; j++){
System.out.print(" ");
}
for(int k = 1; k <= 2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
for(int i = n-1; i >= 1; i--){
for(int j = 1; j <= n-i; j++){
System.out.print(" ");
}
for(int k = 1; k <= 2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
}