Java为什么正确率总是0,而且答对的题数好像也不对

求指导为什么正确率总是0,而且答对的题数好像也不对为啥呀应该怎么改正呢求指导

import java.util.;
public class Game {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
System.out.println("请输入题目数:");
int n=sca.nextInt();
int result=0,right=0;
double accuracy;
Random r=new Random();
for(int i=0;i<n;i++) {
int i1=r.nextInt(50);
int i2=r.nextInt(50);
int i3=r.nextInt(2);
if(i3==0) {
result=i1-12;
System.out.println(i1+"-"+i2+"=");}
else {
result=i1+i2;
System.out.println(i1+"+"+i2+"=");}
int a=sca.nextInt();
if(a==result) {
right+=1;
}}
accuracy=right/n;
long startTime=System.currentTimeMillis();
int sum=0;
for(int i=0;i<5000000;i++) {
sum+=i;
}
long endTime=System.currentTimeMillis();
System.out.print("答对了"+right+"题"+","+"正确率:"+accuracy
100+"%"+","+"用时:"+(endTime-startTime)+"秒");
sca.close();}
}

你要把完整的代码发给我

改好了
错误的地方:你原来这样写的话,accuracy 是浮点型,而右边是整型,这样在赋值的时候就会变成 0.0

img

import java.util.*;

public class Game{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入题目数:");
        int n = sc.nextInt();

        int result = 0, right = 0;
        double accuracy;
        Random r = new Random();

        for (int i = 0; i < n; i++) {
            int i1 = r.nextInt(50);
            int i2 = r.nextInt(50);
            int i3 = r.nextInt(2);

            if (i3 == 0) {
                result = i1 - i2;
                System.out.println(i1 + "-" + i2 + "=");
            } else {
                result = i1 + i2;
                System.out.println(i1 + "+" + i2 + "=");
            }

            int a = sc.nextInt();
            if (a == result) {
                right += 1;
            }
        }

        accuracy = right * 1.0 / n;
        long startTime = System.currentTimeMillis();

        int sum = 0;
        for (int i = 0; i < 5000000; i++) {
            sum += i;
        }

        long endTime = System.currentTimeMillis();

        System.out.print("答对了" + right + "题" + "," + "正确率:" + accuracy * 100 + "%" + "," + "用时:" + (endTime - startTime) + "秒");
        sc.close();
    }
}

运行结果如下

img

img


有帮助的话希望采纳支持一下,谢谢

源码发一下,别截图