朝风捕露 2022-03-09 07:55 采纳率: 92.3%
浏览 31
已结题

请问这个哪里错了呢?系统没有报错,但是一直运行不出来

//任务需求:完成自动出题、判分程序:执行程序,系统自动显示试题
//(两个数的算术运算即可),
//并提示用户输入答案,待用户输入答案后,系统给出答案的判分结果。
提示:
1、随机数的产生:
Random ran = new Random(); //定义Random类的对ran
x=ran.nextInt(10); //产生一个0-9之间 的随机数
2、加减乘除运算符号的产生:先生成一个随机数,而后和加减乘除符号相匹配。
3、什么时候得到标准答案,如何判断对错。
//

package 第二周实验题目;
import java.util.Random;
import java.util.Scanner;
public class exercise {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Random r=new Random();
    int number1=r.nextInt(10);
    int number2=r.nextInt(10);
    int code=r.nextInt(4);
    Scanner sc=new Scanner(System.in);
    int answer=sc.nextInt();
    //double answer2=sc.nextInt();
    switch(code) {
    case 1:
        System.out.println("你抽到的题目为:\n");
        System.out.printf("%d+%d=?",number1+number2);
        System.out.println("你的答案是:");
        if(answer==number1+number2) {
            System.out.println("恭喜你答对了,你将获得10分");
        }else {
            System.out.println("答错了,你将获得0分");
            //score=0;
        }
        break;
    case 2:
        System.out.println("你抽到的题目为:\n");
        System.out.printf("%d-%d=?",number1-number2);
        System.out.println("你的答案是:");
        if(answer==number1-number2) {
            System.out.println("恭喜你答对了,你将获得10分");
        //    score=10;
        }else {
            System.out.println("答错了,你将获得0分");
        //    score=0;
        }
        break;
    case 3:
        System.out.println("你抽到的题目为:\n");
        System.out.printf("%d*%d=?",number1*number2);
        System.out.println("你的答案是:");
        if(answer==number1*number2) {
            System.out.println("恭喜你答对了,你将获得10分");
            //score=10;
        }else {
            System.out.println("答错了,你将获得0分");
            //score=0;
        }
        break;
    case 4:
        System.out.println("你抽到的题目为:\n");
        System.out.printf("%d/%d=?",number1/number2);
        System.out.println("你的答案是:");
        if( answer–1.0*number1/number2<0.001) {
            System.out.println("恭喜你答对了,你将获得10分");
            //score=10;
        }else {
            System.out.println("答错了,你将获得0分");
            //score=0;
        }
        break;
    }
    sc.close();
    
}

}

  • 写回答

2条回答 默认 最新

  • Dream丶大辉 2022-03-09 08:42
    关注

    sc.nextInt()应该放在“你的答案是:”这句输出的后面;另外random.nextInt(4),是随机 0-3的数字。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥15 有没有可以帮我搞一个微信建群链接,包括群名称和群资料群头像那种,不会让你白忙
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题