以下为代码,可以运行,但和预期结果有点差距,可我又不知道怎么改,请大家帮我看一下,谢谢!!import javax.swing.*;
import java.util.*;
public class Exercise1 {
    public int A()
    {
     Random x = new Random();
     double y = x.nextDouble() * 100;
     int z = (int) y;
        return z;
    }
    public boolean Number()
    {
     Exercise1 ex1 = new Exercise1();
     int a = ex1.A();
     int b = ex1.A();
     int c = ex1.A();
     String aa = Integer.toString(a);
String bb = Integer.toString(b);
String str = "";
int answer = 0;
     switch(c%5)
     {
        case 0:
        answer = a+b;
        str = JOptionPane.showInputDialog(aa + "+" + bb);
        break;
        case 1:
        answer = a-b;
        str = JOptionPane.showInputDialog(aa + "-" + bb);
        break;
        case 2:
        answer = a*b;
        str = JOptionPane.showInputDialog(aa + "*" + bb);
        break;
        case 3:
        answer = a/b;
        str = JOptionPane.showInputDialog(aa + "/" + bb);
        break;
        case 4:
        answer = a%b;
        str = JOptionPane.showInputDialog(aa + "%" + bb);
        break;
     }
     int n = Integer.parseInt(str);
     if(n == answer)
     {
              return true;
         }
     else
     {
              return false;
     }
    
    }
   
public static void main(String [] args)
    {
     Exercise1 ex = new Exercise1();
     ex.Number();
     boolean Ch = ex.Number();
     if(Ch)
     {
     JOptionPane.showMessageDialog(null, "正确", "结果",
     JOptionPane.PLAIN_MESSAGE);
     }
     else
     {
     JOptionPane.showMessageDialog(null, "错误", "结果",
     JOptionPane.PLAIN_MESSAGE);
     }
    }
}

解决方案 »

  1.   


    import javax.swing.*;
    import java.util.*;public class Exercise1 {
    public int A() {
    Random x = new Random();
    double y = x.nextDouble() * 100;
    int z = (int) y;
    return z;
    } public boolean Number() {
    Exercise1 ex1 = new Exercise1();
    int a = ex1.A();
    int b = ex1.A();
    int c = ex1.A();
    String aa = Integer.toString(a);
    String bb = Integer.toString(b);
    String str = "";
    int answer = 0;
    switch (c % 5) {
    case 0:
    answer = a + b;
    str = JOptionPane.showInputDialog(aa + "+" + bb);
    break;
    case 1:
    answer = a - b;
    str = JOptionPane.showInputDialog(aa + "-" + bb);
    break;
    case 2:
    answer = a * b;
    str = JOptionPane.showInputDialog(aa + "*" + bb);
    break;
    case 3:
    answer = a / b;
    str = JOptionPane.showInputDialog(aa + "/" + bb);
    break;
    case 4:
    answer = a % b;
    str = JOptionPane.showInputDialog(aa + "%" + bb);
    break;
    }
    int n = Integer.parseInt(str);
    if (n == answer) {
    return true;
    } else {
    return false;
    } } public static void main(String[] args) {
    Exercise1 ex = new Exercise1();
    //ex.Number();
    boolean Ch = ex.Number();
    if (Ch) {
    JOptionPane.showMessageDialog(null, "正确", "结果",
    JOptionPane.PLAIN_MESSAGE);
    } else {
    JOptionPane.showMessageDialog(null, "错误", "结果",
    JOptionPane.PLAIN_MESSAGE);
    }
    }
    }在main里面ex.Number()运行了两次 删掉第一个就可以了
      

  2.   

    预期结果就是出一个窗口,然后进行100以内运算,其实直接运行一下就可以看出有问题,我贴的代码是可以直接运行的……具体表述还真有点困难……非常感谢3楼ilgzl!