分支与循环语句(回文数,猜数字游戏)
本实验通过两个Java程序练习分支结构和循环结构。回文数判断程序使用Scanner接收1-99999的数字,通过除法和取余分解各数位,利用if-elseif-else结构判断位数并进行回文数验证。猜数字游戏程序使用Random生成1-100的随机数,通过while循环和if-else提示用户调整猜测,直到猜中为止。实验成功实现了预期功能,验证了整数除法运算规则(12345/100%10获取百位数3
一、实验目的
1回文数:让学生掌握使用if-else if-else多分支语句。
2猜数字游戏:让学生使用if-else分支和while循环语句解决问题。
二、实验仪器设备及软件
IntelliJ IDEA 2023.3.4
三、实验方案
1回文数:通过Scanner reader=new Scanner(System.in);来接受用户输入的一个1到9999之间的数字,并通过除10取余的方法获取各个位的数字,再用if-else语句来判断这个数是几位数并判断这个数是不是回文数。
2猜数字游戏:通过Random random=new Random();int realNumber=random.nextInt(100)+1;来获取一个1至100之间的整数,通过if-else语句来判断用户输入的数字是否正确,再通过while循环来反复执行程序,直到用户猜对为止。
四、实验步骤
import java.util.Scanner; public class Number { public static void main(String[] args) { int number=0,ge,shi,bai,qian,wan; Scanner reader=new Scanner(System.in); System.out.println("请输入一个1至99999之间的数"); number = reader.nextInt(); if (number<=99999 && number>=1){ ge=number%10; shi=number/10%10; bai=number/100%10; qian=number/1000%10; wan=number/10000%10; if (wan != 0){ System.out.println(number+"是五位数"); if (ge==wan && shi==qian){ System.out.println(number+"是回文数"); } else { System.out.println(number+"不是回文数"); } } else if (qian != 0){ System.out.println(number+"是四位数"); if (ge==qian && shi==bai){ System.out.println(number+"是回文数"); } else { System.out.println(number+"不是回文数"); } } else if (bai != 0) { System.out.println(number+"是三位数"); if (ge==bai){ System.out.println(number+"是回文数"); } else { System.out.println(number+"不是回文数"); } } else if (shi != 0) { System.out.println(number+"是两位数"); if (ge==shi){ System.out.println(number+"是回文数"); } else { System.out.println(number+"不是回文数"); } } else if (ge != 0) { System.out.println(number+"是一位数"); System.out.println(number+"是回文数"); } } else { System.out.printf("\n%d不在1至99999之间",number); } } }
import java.util.Random; import java.util.Scanner; public class GuessNumber { public static void main(String[] args) { Scanner reader = new Scanner(System.in); Random random = new Random(); System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber = random.nextInt(100)+1; int yourGuess = 0; System.out.println("请输入你的猜测:"); yourGuess = reader.nextInt(); while (yourGuess != realNumber) { if (yourGuess > realNumber) { System.out.println("猜大了,请再输入你的猜测:"); yourGuess = reader.nextInt(); } else if (yourGuess < realNumber) { System.out.println("猜小了,请再输入你的猜测:"); yourGuess = reader.nextInt(); } } System.out.println("猜对了!"); } }
五、实验结果及分析
请输入一个1至99999之间的数
12345
12345是五位数
12345不是回文数
请输入一个1至99999之间的数
12321
12321是五位数
12321是回文数
给你一个1至100之间的整数,请猜测这个数
请输入你的猜测:
50
猜小了,请再输入你的猜测:
60
猜小了,请再输入你的猜测:
70
猜小了,请再输入你的猜测:
80
猜大了,请再输入你的猜测:
75
猜小了,请再输入你的猜测:
76
猜对了!
六、实验总结及体会
1当两个int型数据做除法运算时,运算的结果是int型。
2为了得到12345百位上的数字3,可以用12345/100得到123,然后用 123%10得到3。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)