JAVA求助各位大神 20

系统提示用户输入“Y”或是“Q”,输入Y表示开始测试,输入Q表示退出系统;系统随机出题,最多10道题,题目为两个100以内的随机数的和,用户输入这两个数的和,系统根据用户... 系统提示用户输入“Y”或是“Q”,输入Y表示开始测试,输入Q表示退出系统;系统随机出题,最多10道题,题目为两个100以内的随机数的和,用户输入这两个数的和,系统根据用户输入的和值,系统判断用户计算的是否正确,正确输出“Correct!”,错误系统输出“Error”,最后计算用户做题的得分输出到控制台。 展开
 我来答
microroom
科技发烧友

2019-03-02 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1568万
展开全部
import java.util.*;

public class P
{
public static void main(String[] args)
{
final int ScorePerExam=10;
Scanner sc=new Scanner(System.in);
Random r=new Random(Calendar.getInstance()
.getTimeInMillis());
int n=0,right=0,wrong=0,num,sum,answer;
boolean exit=false,jixu;
String menu;

while(!exit)
{
System.out.println("Y、开始测试");
System.out.println("Q、退出系统");
System.out.print("请选择一个菜单:");
menu=sc.nextLine().substring(0,1).toUpperCase();
switch(menu)
{
case "Y":
jixu=true;
n=right=wrong=0;
while(jixu && n<10)
{
sum=r.nextInt(101);
num=r.nextInt(101);
System.out.printf("%d+%d=",sum,num);
sum+=num;
try
{
answer=Integer.parseInt(sc.nextLine());
if(sum==answer)
{
System.out.println("Correct");
right++;
}
else
{
System.out.println("Error");
wrong++;
}
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
n++;
if(n<10)
{
System.out.print("是否继续?(Y/N):");
jixu=('Y'==sc.nextLine().toUpperCase().charAt(0) ?
true : false);
}
}
System.out.printf("这次测试共做了%d题,正确%d题,错误%d题,得分%d",
n,right,wrong,ScorePerExam*right);
System.out.println();
break;
case "Q":
exit=true;
break;
default:
System.out.println("无法处理的菜单命令");
break;
}
}
sc.close();
}
}
牙说
2019-03-01
知道答主
回答量:24
采纳率:0%
帮助的人:1.7万
展开全部
import java.util.Scanner;

public class Test {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("开始测试请输入Y,退出请输入Q");
String yq = sc.nextLine();
if("Q".equals(yq)){
System.out.println("退出系统!");
return;
}else if("Y".equals(yq)){
System.out.println("开始测试!");
}
int score = 0;
for(int i=0;i<10;i++){
int a = (int)(Math.random()*100+1);
int b = (int)(Math.random()*100+1);
System.out.println(a + "+" + b + "=?" );
Scanner s = new Scanner(System.in);
String result = s.nextLine();
if(result.equals(Integer.toString(a+b))){
score += 10;
System.out.println("Correct!加10分!");
}else{
System.out.println("Error,不加分!");
}
}
System.out.println("测试完成,总分:"+score);
}

}
追问
谢了,结合了你的代码,我也终于敲出来了,再次感谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斑马哥
2019-03-02 · 知道合伙人软件行家
斑马哥
知道合伙人软件行家
采纳数:21 获赞数:38
华南理工大学计算机应用硕士研究生。 长期从事Web开发

向TA提问 私信TA
展开全部
  1. 题目数量k=1,正确的题目c=0

  2. 用Math .random()生产一个0到1之间的随机小数

  3. 两个100内的数的和,就是0到200的一个数字,把1得到的随机数乘以200,用Math.round取整数,得到数字R

  4. 用户输入答案,对比是不是等于R,是的话打印"Correct!”,c++,否则错误输出“Error”

  5. 题目数量k++,如果k小于10,回到第二步,否则到第六步

  6. 打印c的值

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友762f74c
2019-03-01 · 超过66用户采纳过TA的回答
知道小有建树答主
回答量:303
采纳率:52%
帮助的人:50.3万
展开全部
私聊我吧,可以教你做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式