Java循环基础练习题2(含答案)
6. 要求用户输入用户名和密码,只要不是admin和111就提示用户名或密码不正确,请重新输入。正确时结束循环,提示登陆成功
答案
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名和密码:");
String num = null;
int pwd;
while (true) {
num = sc.next();//获得输入的用户名
pwd = sc.nextInt();//获得输入的密码
if (num.equals("admin")&& pwd == 111) {
System.out.println("登录成功");//判断是否为admin和111
break;//若是则输出登录成功并退出程序
}else {
System.out.println("用户名或密码不正确,请重新输入");//如不是则继续循环
}
}
}
运行结果
7. 使用for循环方式计算2+4+6+…+100的值
答案
public static void main(String[] args) {
int x = 0;
for (int i = 0; i <= 100; i++) {
if (i%2 == 0) {
x = x + i;//若为偶数则累加到x
}
}
System.out.println(x);//输出累加后的x的值
}
运行结果
2550
8. 编写Java程序,在控制台上打印出九九乘法表(两种)
效果如图:
答案
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.print(i + "x" + j + "=" + i*j + "\t" );//一行打印九个表达式
}
System.out.println();
}
System.out.println("-----------------------------");
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++){
//字符串拼接
System.out.print(j + "x" + i + "=" + j*i + "\t" );//每行打印表达式的个数跟行数相关
}
System.out.println();
}
}
运行结果
9. 不断要求用户输入一个数字(假定用户输入的数字都是正整数),当用户输入end的时候显示刚才输入数字中的最大值。
答案
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = null;
int num;
int max = 0;
do {
System.out.println("请输入一个数字:");
input = sc.nextLine();
if (input.equals("end")) {
break;//当输入为end时结束程序
}else {
num = Integer.parseInt(input);//当输入不为end时,将字符串转换为整型并存储到num中
if (num>max) {
max = num;//判断输入的数字与max的大小关系,若num>max,则把num的值赋值给max
}
}
} while (true);
System.out.println("最大值是:" + max);
}
运行结果
10. 输入一个整数,判断这个数字是不是质数
public static void main(String[] args) {
System.out.println("请输入一个数字:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
boolean p = true;
for (int i = 2; i < num; i++) {
if (num%i == 0) {
p = false;
break;
} else {
continue;
}
}
if (p) {
System.out.println("此数为质数");
}else {
System.out.println("此数不为质数");
}
}
运行结果
未完待续