当前位置:首页 > JAVA基础
13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 隐藏
int n = 1;
for (n = start; n >= 1; n--) { // 判断n是否是两个整数的约数
if ((first % n == 0) && (second % n == 0)) break; }
System.out.println(first + \和\ + \的最大公约数为:\ } }
4 随机加法运算器(选做)
4.1 问题
随机加法运算器。系统提示用户输入“Y”或是“Q”,输入Y表示开始测试,输入Q表示退出系统;系统随机出题,最多10道题,题目为两个 100以内的随机数的和,用户输入这两个数的和,系统根据用户输入的和值,系统判断用户计算的是否正确,正确输出“Correct!”,错误系统输出 “Error”,最后计算用户做题的得分输出到控制台。系统交互情况如图-40所示:
图-40
4.2 方案
系统使用while(true)使程序一直循环,当遇到break程序规程循环,代码如下: 1.
while (true) {}
系统使用String类的trim()方法,去除用户输入字符串两端的空白,使用String类的equalsIgnoreCase()方法,比较两个字符串内容是否相等,忽略大小写。代码如下所示: 1. 2. 3. 4. 5. 6. 7.
String c = scanner.next();
if (\ break; }
if (!\ continue; }
系统使用Random的nextInt()方法生成100以内的随机数,代码如下所示: 1. 2.
Random ran = new Random(); a = ran.nextInt(100);
系统使用for循环产生10道题目,代码如下所示: 1.
for (int i = 1; i <= numOfQuestion; i++) {}
4.3 实现
系统代码实现如下: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
import java.util.Scanner; import java.util.Random; public class AdditionTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); while (true) {
System.out.print(\输入Y开始测验,输入Q退出: \ String c = scanner.next();
if (\ break; }
12. if (!\13. continue; 14. }
15. int score = 0;
16. int numOfQuestion = 10; 17. Random ran = new Random(); 18. int a, b, answer, key;
19. for (int i = 1; i <= numOfQuestion; i++) { 20. a = ran.nextInt(100); 21. b = ran.nextInt(100); 22. key = a + b;
23. System.out.print(\b + \
24. answer = scanner.nextInt(); 25. if (answer == key) {
26. score += 100 / numOfQuestion; 27. System.out.println(\28. } else {
29. System.out.println(\30. } 31. }
32. System.out.println(\此次测验结束,你的分数是:\score); 33. }
34. scanner.close(); 35. } 36. } 隐藏
4.4 扩展
猜数字游戏。
用户录入一个大于1 的正整数,然后由系统随机抽取一个从1到此整数范围内的数值作为需要猜测的数字,然后提示用户猜测此数值。用户录入某数值后,系统判断是否猜测正确:如果 录入的数值比答案数值大,则输出“大了”,并提示用户继续猜;如果录入的数值比答案数值小,则输出“小了”,并提示用户继续猜。直到录入的数值等于答案, 则输出所猜中的数字,并结束游戏。 系统交互情况如图-41所示:
图-41
系统代码实现如下: 1. 2. 3. 4. 5. 6. 7. 8.
import java.util.Scanner; import java.util.Random; public class GuessingTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); System.out.println(\请录入所猜数字的上限: \ int max = scanner.nextInt();
System.out.println(\您需要猜测的数字范围是:0~\max);
9.
10. //统计猜测的次数 11. int count = 0; 12. //内置结果
13. Random ran = new Random();
14. int result = ran.nextInt(max + 1); 15.
16. //猜测开始
17. while (true) { 18. count++;
19. System.out.print(\第 \次猜测:\20. int number = scanner.nextInt(); 21. if ( number == result ) {
22. System.out.println(\猜对了,结果为:\
23. + result + \;您共猜了\次\24. } 25.
26. if ( number > result ) {
共分享92篇相关文档