课后习题 第八章

1、什么是二重循环 在内层循环中使用continue和break语句 程序如何跳转

二重循环就是嵌套循环咯 先执行外层第一次循环 然后执行内层循环

执行完成内存所有循环后 再进行第二次外层循环 以此类推

continue语句为跳过当前次循环 执行下一次循环

break为跳出当前循环的所有循环 直接进入外层循环

2、编写程序打印如下图案 要求该图案行数有用户输入

1

12

123

1234

12345

import java.util.Scanner;

public class Demo2 {
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
System.out.println("请输入要打印的行数:");
int k = scanner.nextInt();
for (int i = 1; i <= k; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(j);
}
System.out.println("\n");
}
}
}

 

3、我国古代数学 百钱百鸡 5钱一只公鸡 3钱一只母鸡 1钱三只雏鸡

现在100钱买一百只鸡 公鸡母鸡雏鸡 各多少只

 

public class Demo3 {
public static void main(String[] args) {
int i, j, k;
for (i = 0; i < 20; i++) {
for (j = 0; j < 33; j++) {
for ( k = 0; k <=300; k++) {
if (k % 3 == 0) {

if (((5 * i) + (3 * j) + (k / 3) == 100) && ((i + j + k) == 100)) {
System.out.println("i="+i+" j="+j+" k="+k);
}
}
}
}
}
}
}

4、有三个班级各4名学员参赛 从控制台输入每个班级参赛学员的成绩

要求统计出三个班级所有参赛学员成绩大于85的学员的平均分

import java.util.Scanner;

public class Demo4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入每个学员的的成绩:");
// 设置i为班级,j为学员
double score,sum=0,avg,num=0;


for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
score = scanner.nextDouble();

if (score > 85) {
sum=sum+score;
num++;
}
}
}
avg=sum/num;
System.out.println("大于85分学员的成绩平均分为:"+avg);
}
}

 

5、atm机取款过程如下 先提示用户输入密码 最多只能输入三次 超过三次则提示用户,“密码错误请取卡”

如果密码正确 提示用户输入金额 atm只能输出100的纸币 最低要求0元 最多1000,如果用户输入的金额符合上诉要求

则打印出用户取的钱数 最后提示 交易完成,请取卡! 否则提示重新输入金额

假设用户密码是11111

import java.util.Scanner;

public class Demo5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 0;
boolean flag = false;

for (; i < 3; i++) {
if (flag == false) {

System.out.println("请输入密码:");
int passWord = scanner.nextInt();
if (passWord != 111111) {
continue;
}

System.out.println("请输入您要取的钱数:(最高可取1000元,本机只能输出100元纸币)");
for (; ; ) {
int money = scanner.nextInt();
if ((money % 100 == 0) && (money <= 1000)) {
System.out.println("请收好您的钱" + money + "元");
flag = true;
break;
}
System.out.println("您输入的金额不合法,请重新输入!");
continue;
}
}
}
System.out.println("请取卡");
}
}

 

 

6、输入行数 打印菱形  

从控制台输入菱形的高度(行数) 如果用户输入的行数合法(奇数)则打印出菱形 否则提示用户输入奇数

 假设用户输入的行数为rows 则每行字符的个数依次为1357...rows...753

import java.util.Scanner;

public class Demo6 {
public static void main(String[] args) {
int rows;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入菱形行数:");
rows = scanner.nextInt();
while (rows % 2 == 0) {
System.out.println("请输入奇数:");
rows = scanner.nextInt();
}
int row = (rows + 1) / 2;
for (int i = 1; i <=row; i++) {
for (int j = 1; j <= row-i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= (2*i)-1; k++) {
System.out.print("*");
}
System.out.print("\n");
}
for (int i = 1; i <=row-1 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * row - 1 - 2 * i; k++) {
System.out.print("*");
}
System.out.print("\n");
}
}
}

 

 

 

猜你喜欢

转载自www.cnblogs.com/yunfeioliver/p/9064581.html