Java 2实用教程(第5版)实验指导与习题解答 第3章-上机实践-分支与循环语句
- 实验 1 回文数
- 实验目的
- 实验要求
- 程序效果示例
- 实验代码
- 运行截图
- 实验 2 猜数字游戏
- 实验目的
- 实验要求
- 程序效果示例
- 实验代码
- 运行截图
实验 1 回文数
实验目的
本实验的目的是让学生掌握使用 if-else if-else 多分支语句。
实验要求
编写一个 Java 应用程序。用户从键盘输入一个 1~9999 之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如 12121、 3223 都是回文数。
程序效果示例
程序运行效果如图 3.1 所示。
实验代码
import java.util.Scanner;
public class 回文数01 {
public static void main(String[] args) {
System.out.println("输入一个 1~9999 之间的整数");
//数据输入
Scanner sc = new Scanner(System.in);
int temp = sc.nextInt();;
//对数据进行判断是否合法
while(temp < 1 || temp > 9999){
System.out.println("数据输入有误,请重新输入!");
temp = sc.nextInt();
}
//判断这个数是几位
int a = 0;
if(temp <= 9){
System.out.println(temp + "是一位数");
a = 1;
}else if(temp <= 99){
System.out.println(temp + "是二位数");
a = 2;
}else if(temp <= 999){
System.out.println(temp + "是三位数");
a = 3;
}else{
System.out.println(temp + "是四位数");
a = 4;
}
//判断这个数是否为回文数
int sum = 0;
int ge = 0;
int shi = 0;
int bai = 0;
int qian = 0;
//分解数
for(int i = 0;i < a;i++){
if(i == 0){
ge = temp % 10;
}
if(i == 1){
shi = temp / 10 % 10;
}
if(i == 2){
bai = temp /100 % 10;
}
if(i == 3){
qian = temp /1000 % 10;
}
}
//计算回文数
if(a == 1){
sum = ge;
}
if(a == 2){
sum = ge * 10 + shi;
}
if(a == 3){
sum = ge * 100 + shi * 10 + bai;
}
if(a == 4){
sum = ge * 1000 + shi * 100 + bai * 10 + qian;
}
//判断并输出
if (sum == temp){
System.out.println(temp + "是回文数");
}else{
System.out.println(temp + "不是回文");
}
}
}
运行截图
实验 2 猜数字游戏
实验目的
本实验的目的是让学生使用 if-else 分支和 while 循环语句解决问题。
实验要求
编写一个 Java 应用程序,实现下列功能:
1、程序随机分配给客户一个 1~100 之间的整数。
2、用户输入自己的猜测。
3、程序返回提示信息,提示信息分别是“猜大了”“猜小了”或“猜对了”。
4、用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
程序效果示例
程序运行效果如图 3.2 所示。
实验代码
import java.util.Random;
import java.util.Scanner;
public class 猜数字游戏02 {
public static void main(String[] args) {
//产生一个1~100之间的随机整数
Random r = new Random();
int num = r.nextInt(100) + 1;
System.out.println("给您一个1至100之间的整数,请猜测这个数");
System.out.print("请输入你的猜测:");
Scanner sc = new Scanner(System.in);
int temp = -1;
while(temp != num){
temp = sc.nextInt();
if(temp > num){
System.out.print("猜大了,再输入你的猜测:");
}else if(temp < num){
System.out.print("猜小了,再输入你的猜测:");
}
}
System.out.println("恭喜你猜对了!");
}
}
运行截图