小学生口算题卡
1.题目
做一个小学生口算题卡,要求能给出题目,并判断结果是否正确。
2.需求分析
主要内容:
(1)通过输入密码进入小学生口算题卡系统
(2)选择其中一种运算并选择要完成的题目数
(3)根据题目输入结果,答对输入回答正确,答错则输出答案错误并给出正确结果
3.核心代码
1 package pupil; 2 3 import java.util.Scanner; 4 /** 5 * 通过输入密码进入小学生口算题卡系统, 6 * 选择其中一种运算并选择要完成的题目数 7 * 根据题目输入结果,答对输入回答正确 8 * 答错则输出答案错误并给出正确结果 9 * @author Administrator 10 * 11 */ 12 public class Oral_calcation { 13 14 public static void main(String[] args) { 15 // TODO Auto-generated method stub 16 17 Scanner input = new Scanner(System.in); 18 int m1 = 1234; //密码设置为:1234 19 int pass;//用户输入的密码 20 int sum1 = 0,sum2 = 0;//总题数,对题数 21 //int i; 22 int x,y,i = 1; 23 int z,j,choice; 24 int num; 25 System.out.println("<<小学生口算题卡>>"); 26 System.out.println("密码只能输入三次"); 27 while(i <= 3) 28 { 29 System.out.println("请输入密码:"); 30 pass = input.nextInt(); 31 32 if(pass == m1)//判断输入密码是否正确 33 { 34 System.out.println("恭喜你,登陆成功"); 35 while(true) 36 { 37 System.out.println("1,加法运算"); 38 System.out.println("2,减法运算"); 39 System.out.println("3,乘法运算"); 40 System.out.println("4,除法运算"); 41 System.out.println("5,退出系统"); 42 System.out.print("请输入你的选择"); 43 choice = input.nextInt(); 44 45 switch(choice) 46 { 47 case 1: 48 49 System.out.print("请输入你要完成的题目数:"); 50 num = input.nextInt(); 51 for(i = 1;i <= num;i ++) 52 { 53 x = (int)(Math.random() * 10); 54 y = (int)(Math.random() * 10); 55 System.out.print(x + "+" + y + "="); 56 z = input.nextInt(); 57 if(z == (x + y)) 58 { 59 System.out.println("恭喜你,回答正确"); 60 sum2 ++; 61 } 62 else 63 { 64 System.out.println("答案错误,正确答案为:" + x + "+" + y + "=" + (x + y)); 65 } 66 sum1 ++; 67 } 68 break; 69 case 2: 70 System.out.print("请输入你要完成的题目数:"); 71 num = input.nextInt(); 72 for(i = 1;i <= num;) 73 { 74 75 x = (int)(Math.random() * 10); 76 y = (int)(Math.random() * 10); 77 if(x > y) 78 { 79 System.out.print(x + "-" + y + "="); 80 z = input.nextInt(); 81 if(z == (x - y)) 82 { 83 System.out.println("恭喜你,回答正确"); 84 sum2 ++; 85 } 86 else 87 { 88 System.out.println("答案错误,正确答案为:" + x + "-" + y + "=" + (x + y)); 89 } 90 sum1 ++; 91 i ++; 92 } 93 } 94 break; 95 case 3: 96 System.out.print("请输入你要完成的题目数:"); 97 num = input.nextInt(); 98 for(i = 1;i <= num;i ++) 99 { 100 x = (int)(Math.random() * 10); 101 y = (int)(Math.random() * 10); 102 System.out.print(x + "*" + y + "="); 103 z = input.nextInt(); 104 if(z == (x * y)) 105 { 106 System.out.println("恭喜你,回答正确"); 107 sum2 ++; 108 } 109 else 110 { 111 System.out.println("答案错误,正确答案为:" + x + "*3" + y + "=" + (x + y)); 112 } 113 sum1 ++; 114 } 115 break; 116 case 4: 117 118 System.out.println("友情提示:只写整数部分,不用考虑四舍五入"); 119 System.out.print("请输入你要完成的题目数:"); 120 num = input.nextInt(); 121 for(i = 1;i <= num;) 122 { 123 x = (int)(Math.random() * 10); 124 y = (int)(Math.random() * 10); 125 if(x > y && y != 0) 126 { 127 System.out.print(x + "/" + y + "="); 128 z = input.nextInt(); 129 if(z == (x / y)) 130 { 131 System.out.println("恭喜你,回答正确"); 132 sum2 ++; 133 } 134 else 135 { 136 System.out.println("答案错误,正确答案为:" + x + "/" + y + "=" + (x + y)); 137 } 138 i ++; 139 sum1 ++; 140 } 141 } 142 break; 143 case 5: 144 System.out.println("总题数:" + sum1 + "答对的题数:" + sum2); 145 System.out.println("确认退出"); 146 System.exit(0); 147 break; 148 default: 149 System.out.println("选择错误。请重新选择"); 150 } 151 } 152 } 153 else 154 { 155 System.out.println("密码输入错误"); 156 } 157 i ++; 158 } 159 System.out.println("密码错误三次"); 160 } 161 162 }
4.测试结果
恭喜你,登陆成功 1,加法运算 2,减法运算 3,乘法运算 4,除法运算 5,退出系统 请输入你的选择1 请输入你要完成的题目数:5 6+2=8 恭喜你,回答正确 8+1=9 恭喜你,回答正确 0+4=4 恭喜你,回答正确 3+5=7 答案错误,正确答案为:3+5=8 9+2=11 恭喜你,回答正确 1,加法运算 2,减法运算 3,乘法运算 4,除法运算 5,退出系统 请输入你的选择5
5.PSP
6.总结
写代码的时候很多地方都卡住了,知识都想不起来,只能再去翻书回顾。有时候脑子里想的和去写的时候还是不太一样的。
建议多操作,多实践。