第九章
1.什么是二重循环?在内层循环中使用continue 和 break语句,程序如何跳出?
循环之中嵌套循环 内层循环中使用continue和break 跳出内层循环 与外层循环无关
2.编写程序,打印如下图案,要求输出图案的行数由用户输入重点内容
import java.util.Scanner;
public class No_2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入行数:");
int a = input.nextInt();
for (int i = 1; i <= a; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " ");
}
System.out.println("");
}
}
}
3.“百钱买百鸡”,5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡,现在用100文钱买100只鸡,那么各有公鸡,母鸡,雏鸡多少只?编写程序利用二重循环实现 。
public class No_3 {
public static void main(String[] args) {
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.println("公鸡:" + i + "\t母鸡:" + j + "\t小鸡:" + k);
}
}
}
}
}
4.有三个班级各四名学员参赛,从控制台输入每个班级参赛学员的成绩,要求统计出三个班级所有参赛人员中成绩大于85分的学员的平均分,实现编程 。
import java.util.Scanner;
public class No_4 {
public static void main(String[] args) {
int a = 0;
int d = 0;
double c = 0;
Scanner input = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.println("请输入第" + (i + 1) + "个班级的成绩:");
for (int j = 0; j < 4; j++) {
System.out.print("第" + (j + 1) + "个学员的成绩:");
a = input.nextInt();
if (a < 85) {
continue;
}
d++;
c += a;
}
System.out.println("");
}
System.out.println("85分以上的有:" + d + "个,平均分为:" + (c / d));
}
}
5.假设一个简单的在ATM的取款过程如下:首先提示输入密码(password),最多只能输入三次,超过三次则提示用户”密码错误,请取卡”,交易结束。如果用户密码正确,再提示用户输入金额(amount),ATM只能输出100元的纸币,一次取钱数要求最低0元,最高1000元,如果用户输入的金额符合上述要求,则打印输出用户的钱数,最后提示用户”交易完成,请取卡”,否则提示用户重新输入金额,假设用户密码是111111,请用二重循环实现编程,运行效果 。
import java.util.Scanner;
public class No_5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int cuowu = 0;
int m = 0;
String mima = "111111";
System.out.print("请输入密码:");
for (int i = 0; i < 3; i++) {
String password = input.next();
if (mima.equals(password)) {
System.out.print("请输入金额:");
m = input.nextInt();
while (true) {
if (m % 100 == 0 && m <= 1000) {
System.out.println("您取了" + m + "元");
System.out.println("交易完成,请取卡");
System.exit(0);
} else {
System.out.print("输入金额不合法,请重新输入:");
m = input.nextInt();
}
}
} else {
if (cuowu == 2) {
System.out.println("密码错误3次以上,请取卡!");
} else {
System.out.print("密码错误,请重新输入:");
cuowu++;
}
}
}
}
}
6.输入行数、打印菱形,要求如下:
(1).从控制台输入菱形的高度(行数)。如果用户输入的行数合法(奇数),则打印出菱形;否则提示用户输入奇数。
(2).假设用户输入的行数为rows,则每行字符*的个数依次为1、3/5、7、…、rows、…、7、5、3、1,程序运行结果为:
import java.util.Scanner;
public class No_6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入行数(奇数):");
int a = input.nextInt();
while (a % 2 == 0) {
System.out.print("请输入奇数:");
a = input.nextInt();
}
for (int i = 1; i <= a / 2 + 1; i++) {
for (int j = 1; j <= a - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println("");
}
for (int r = a / 2; r >= 0; r--) {
for (int t = 1; t <= a - r; t++) {
System.out.print(" ");
}
for (int u = 1; u <= 2 * r - 1; u++) {
System.out.print("*");
}
System.out.println("");
}
}
}
第十章
import java.util.Scanner;
public class LuckyDraw2_0 {
public static void main(String[] args) {
String[] a = new String[2];
String[] b = new String[2];
int[] l = new int[5];
int cardNumber = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("*******欢迎进入奖客富翁系统******");
System.out.println("\t 1.注册");
System.out.println("\t 2.登入");
System.out.println("\t 3.抽奖");
System.out.println("********************************");
System.out.print("请选择菜单:");
if (input.hasNextInt() == true) {
int XueZe = input.nextInt();
switch (XueZe) {
case 1:
System.out.println("[奖客富翁系统>注册]");
System.out.println("请填写个人注册信息:");
System.out.print("用户名:");
a[0] = input.next();
System.out.print("密码:");
a[1] = input.next();
System.out.println("");
System.out.println("注册成功,请记好您的会员卡号:");
cardNumber = (int) (Math.random() * (9999 - 1000)) + 1000;
System.out.println("用户名\t 密码\t 会员卡号");
System.out.println(a[0] + "\t " + a[1] + "\t "
+ cardNumber);
System.out.print("继续吗?(y/n):");
while (true) {
String d = input.next();
if (!d.equals("y") && !d.equals("n")) {
System.out.print("输入错误,请输入 y 或者 n :");
continue;
} else if (d.equals("y")) {
System.out.println("");
break;
} else {
System.out.println("");
System.out.println("系统退出,谢谢使用!");
System.exit(0);
}
}
break;
case 2:
System.out.println("[奖客富翁系统>登入]");
System.out.print("请输入用户名:");
b[0] = input.next();
System.out.print("请输入密码:");
b[1] = input.next();
System.out.println("");
if (!b[0].equals(a[0]) && !b[1].equals(a[1])) {
for (int j = 1; j <= 3; j++) {
System.out.println("账号或者密码错误!您还有" + (4 - j)
+ "次输入机会!!!");
System.out.print("请输入用户名:");
b[0] = input.next();
System.out.print("请输入密码:");
b[1] = input.next();
System.out.println("");
if (b[0].equals(a[0]) && b[1].equals(a[1])) {
break;
}
if (j == 3) {
System.out.println("您的输入错误次数过高,请稍后继续!");
System.exit(0);
}
}
}
System.out.println("欢迎您:" + a[0]);
System.out.print("继续吗?(y/n):");
while (true) {
String d = input.next();
if (!d.equals("y") && !d.equals("n")) {
System.out.print("输入错误,请输入 y 或者 n :");
continue;
} else if (d.equals("y")) {
System.out.println("");
break;
} else {
System.out.println("");
System.out.println("系统退出,谢谢使用!");
System.exit(0);
}
}
break;
case 3:
int h = 0;
System.out.println("[奖客富翁系统>抽奖]");
System.out.print("请输入你的卡号:");
while (true) {
if (input.hasNextInt() == true) {
int car = input.nextInt();
if (car > 999 && car < 10000) {
System.out.println("");
System.out.print("本日幸运数字为:");
for (int i = 0; i < 5; i++) {
l[i] = (int) (Math.random() * (9999 - 1000)) + 1000;
System.out.print(l[i] + " ");
}
System.out.println("");
for (int u = 0; u < l.length; u++) {
if (car == l[u]) {
System.out.println("恭喜您!您是本日幸运会员!");
System.exit(0);
} else {
h++;
}
if (h == 5) {
System.out.println("抱歉!您不是本日的幸运会员!");
System.out.println("");
System.out.print("继续吗?(y/n):");
while (true) {
String d = input.next();
if (!d.equals("y")
&& !d.equals("n")) {
System.out
.print("输入错误,请输入 y 或者 n :");
continue;
} else if (d.equals("y")) {
System.out.println("");
break;
} else {
System.out.println("");
System.out
.println("系统退出,谢谢使用!");
System.exit(0);
}
}
break;
}
}
} else {
System.out.println("卡号错误,请输入正确卡号!");
System.out.print("请输入你的卡号:");
continue;
}
} else {
System.out.println("卡号错误,请输入正确卡号!");
System.out.print("请输入你的卡号:");
input = new Scanner(System.in);
continue;
}
break;
}
break;
default:
System.out.println("");
System.out.println("选择错误,请重新选择:");
continue;
}
} else {
System.out.println("请正确输入!");
input = new Scanner(System.in);
continue;
}
}
}
}