功能要求 程序随机给出两个数字 第一次猜对 加五分 第二次猜对加三分 第三次加两分 当输入999时程序退出 大概是这个意思 能写出大概的代码就好

解决方案 »

  1.   

    很简单,随机产生两个100以内的数 :
    int r1 = (int) (Math.random() * 100);
    int r2 = (int) (Math.random() * 100);
    然后用switch 方法写出五个状态来 case 1: System.out.println("输入第一次要猜的数字 ");if (var == r1 || var == r2) {
    point += 5 ;}
     else {
           point = point; }

    System.out.println("输出分数: " + point);
    同理 case 2 和 3;
    case 4 :System.out.println("查看两个随机数的值 ");
    System.out.println(r1);
    System.out.println(r2);
    case 999 :System.out.println("退出 ");
      System.exit(0);
      break;
      

  2.   

    import java.util.Random;public class GuessAction {
    private int[] nums = new int[2];// 声明一个数组用来存放两个随机数
    private int count = 1;// 声明一个计数器记录已猜的次数 public int[] getNums() {
    return nums;
    } public GuessAction() {
    super();
    new GuessAction(10);// 默认为随机数[0~10)
    } public GuessAction(int n) {// 取随机产生范围
    Random random = new Random();// 实例化随机数类
    int randomNum1 = random.nextInt(n);// 将随机产生 和{0~n)的数赋给randomNum1
    int randomNum2 = random.nextInt(n);// 将随机产生 和{0~n)的数赋给randomNum2
    this.nums[0] = randomNum1;// 给数组赋值
    this.nums[1] = randomNum2;
    } /**
     * 娄判断结果
     * 
     * @param num1
     *            ,num2 要判断的数1和数2
     * @return 表示得分和次数,-11表示猜的第一个数和第二个数太小,-12表示猜的第一个数太小但第二个数太大,
     *         -21表示猜的第一个数太大但第二个数太小 ,-22 表示猜的第一个数太大且第二个数太大 ,-01
     *         表示第一个数正确但第二个输入的数太小 ,-02 表示第一个数正确第二个数太大 ,-10 表示第一个数太小第二个数太小 ,-20
     *         表示第一个数太大但第二个数正确 ,输入 是999返回0,猜对返回分数
     */ public int[] judge(int num1, int num2) {
    int[] result = new int[2];// 声明一个返回数组,第一个存得分,第二个存已猜次数
    if (999 != num1 && 999 != num2) { if (num1 < this.nums[0]) {
    if (num2 < this.nums[1]) {
    result[0] = -11;
    this.count++;
    } else if (num2 > this.nums[1]) {
    result[0] = -12;
    this.count++;
    } else {
    result[0] = -10;
    this.count++;
    }
    } else if (num1 > this.nums[0]) {
    if (num2 < this.nums[1]) {
    result[0] = -21;
    this.count++;
    } else if (num2 > this.nums[1]) {
    result[0] = -22;
    this.count++;
    } else {
    result[0] = -20;
    this.count++;
    }
    } else if (num1 == this.nums[0]) {
    if (num2 < this.nums[1]) {
    result[0] = -01;
    this.count++;
    } else if (num2 > this.nums[1]) {
    result[0] = -02;
    this.count++;
    } else {
    if (this.count == 1) {
    result[0] = 5;
    } else if (this.count == 2) {
    result[0] = 3;
    } else {
    result[0] = 2;
    }
    }
    }
    result[1] = this.count;
    }
    return result;
    }}
    PS:这只是一个功能模块.可以自己测下.
      

  3.   

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;import com.ajijan.action.GuessAction;public class GuessFrame extends JFrame {
    private final JPanel pnlMain = new JPanel();
    private final JLabel lblTitle = new JLabel("欢迎参加猜数游戏");
    private final JLabel lblScore = new JLabel("当前得分:0");
    private final JLabel lblProm = new JLabel("这里显示提示信息");
    private final JLabel lblNum = new JLabel("当前已猜次数:0");
    private final JLabel lblFirst = new JLabel("您猜的第一个数:");
    private final JLabel lblSeconde = new JLabel("您猜的第二个数:");
    private final JTextField txtFirst = new JTextField(10);
    private final JTextField txtSeconde = new JTextField(10);
    private final JButton btnGuess = new JButton("开始猜数");
    private final GuessAction guess = new GuessAction(); private static final long serialVersionUID = -1099782742764965582L; public GuessFrame() {
    initComponents(); } private void initComponents() {
    // set up main panel
    pnlMain.setLayout(null);
    pnlMain.add(lblTitle);
    lblTitle.setBounds(130, 10, 150, 30);
    pnlMain.add(lblScore);
    lblScore.setBounds(10, 40, 80, 30);
    pnlMain.add(lblNum);
    lblNum.setBounds(180, 40, 150, 30);
    pnlMain.add(lblFirst);
    lblFirst.setBounds(10, 70, 100, 30);
    pnlMain.add(txtFirst);
    txtFirst.setBounds(110, 70, 50, 30);
    pnlMain.add(lblSeconde);
    lblSeconde.setBounds(180, 70, 100, 30);
    pnlMain.add(txtSeconde);
    txtSeconde.setBounds(280, 70, 50, 30);
    pnlMain.add(btnGuess);
    btnGuess.setBounds(30, 120, 100, 30);
    btnGuess.addActionListener(new ActionListener() { @Override
    public void actionPerformed(ActionEvent e) {
    try {
    int num1 = Integer.parseInt(txtFirst.getText().trim());
    int num2 = Integer.parseInt(txtSeconde.getText().trim());
    int[] result = guess.judge(num1, num2);
    if (-11 == result[0]) {
    lblProm.setText("第一个数太小,第二个数太小");
    lblNum.setText("当前已猜次数:" + result[1]);
    } else if (-12 == result[0]) {
    lblProm.setText("第一个数太小,第二个数太大");
    lblNum.setText("当前已猜次数:" + result[1]);
    } else if (-10 == result[0]) {
    lblProm.setText("第一个数太小,第二个数正确");
    lblNum.setText("当前已猜次数:" + result[1]);
    txtSeconde.setEnabled(false);
    } else if (-21 == result[0]) {
    lblProm.setText("第一个数太大,第二个数太小");
    lblNum.setText("当前已猜次数:" + result[1]);
    } else if (-22 == result[0]) {
    lblProm.setText("第一个数太大,第二个数太大");
    lblNum.setText("当前已猜次数:" + result[1]);
    } else if (-20 == result[0]) {
    lblProm.setText("第一个数太大,第二个数正确");
    lblNum.setText("当前已猜次数:" + result[1]);
    txtSeconde.setEnabled(false);
    } else if (-01 == result[0]) {
    lblProm.setText("第一个数正确,第二个数太小");
    lblNum.setText("当前已猜次数:" + result[1]);
    txtFirst.setEnabled(false);
    } else if (-02 == result[0]) {
    lblProm.setText("第一个数正确,第二个数太大");
    lblNum.setText("当前已猜次数:" + result[1]);
    txtFirst.setEnabled(false);
    } else {
    lblProm.setText("恭喜你,猜对啦,真厉害!");
    lblScore.setText("当前得分:" + result[0]);
    lblNum.setText("当前已猜次数:" + result[1]);
    txtFirst.setEnabled(false);
    txtSeconde.setEnabled(false);
    }
    } catch (NumberFormatException e1) {
    JOptionPane.showMessageDialog(null, "必须输入整数!");
    }
    }
    });
    pnlMain.add(lblProm);
    lblProm.setBounds(150, 120, 250, 30); // set up main frame
    setContentPane(pnlMain);
    setTitle("猜数游戏");
    setSize(400, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setResizable(false); }
    }
    PS:这是带界面的测试类,不过每次只能猜一次, 要搞好点可以加一个"重新开始"和"难度选择"菜单.应该比较好实现!