猜谜游戏Java JCreator 我必须使用packagejava.util中的random类创建一个程序,以生成一个介于1和100之间的数字 必须给用户最多6次尝试猜测数字,如果第6次尝试时未能正确猜测,则应显示目标数字。程序需要向用户提供反馈,指出他们的猜测是过高还是过低。如果猜测是正确的,程序会说“恭喜你,你的猜测是正确的。” 用户应在启动会话时提供其名称,并在后续记录生成中存储和使用 该程序应为用户创建一个会话,并应允许用户在该会话中按自己的意愿执行任意多个goes。在每次运行时,程序应生成一个新的随机数,并向用户提供多达6次的猜测尝试。当正确猜测目标号码或尝试6次时,用户应选择退出或进行另一场游戏/继续

猜谜游戏Java JCreator 我必须使用packagejava.util中的random类创建一个程序,以生成一个介于1和100之间的数字 必须给用户最多6次尝试猜测数字,如果第6次尝试时未能正确猜测,则应显示目标数字。程序需要向用户提供反馈,指出他们的猜测是过高还是过低。如果猜测是正确的,程序会说“恭喜你,你的猜测是正确的。” 用户应在启动会话时提供其名称,并在后续记录生成中存储和使用 该程序应为用户创建一个会话,并应允许用户在该会话中按自己的意愿执行任意多个goes。在每次运行时,程序应生成一个新的随机数,并向用户提供多达6次的猜测尝试。当正确猜测目标号码或尝试6次时,用户应选择退出或进行另一场游戏/继续,java,Java,这就是我到目前为止所做的: import java.util.Random; import javax.swing.JOptionPane; public class GuessANumber3 { public static int TARGET = 0; public static void main(String[] args) { Random R = new Random(); TARGET = R.nextInt(100);

这就是我到目前为止所做的:

import java.util.Random;
import javax.swing.JOptionPane;

public class GuessANumber3 {
    public static int TARGET = 0;

    public static void main(String[] args) {
        Random R = new Random();
        TARGET = R.nextInt(100);
        String guessString;
        int guess;
        int count = 0;
        int bestScore = 0;
        System.out.println(TARGET);
        do {
            // read in a number from user as a string
            guessString = JOptionPane.showInputDialog("Enter first integer");
            // convert number from type String to type int
            guess = Integer.parseInt(guessString);
            count++;
            if (guess > TARGET) {
                JOptionPane.showMessageDialog(null, "Your guess is too high", "Hint",
                                JOptionPane.PLAIN_MESSAGE);
            } else {
                if (guess < TARGET) {
                    JOptionPane.showMessageDialog(null, "Your guess is too low", "Hint",
                                    JOptionPane.PLAIN_MESSAGE);
                }
            }
            System.out.println(count);
            if (count == 6)
                break;

        } while (guess != TARGET);
        if (guess == TARGET)
            JOptionPane.showMessageDialog(null, "You found it with " + count + "guesses.",
                            "Congratulations!", JOptionPane.PLAIN_MESSAGE);
        else
            JOptionPane.showMessageDialog(null, "You have reached the maximum attempts in this go",
                            "Attention", JOptionPane.PLAIN_MESSAGE);

        if (count < bestScore)
            bestScore = count;
    }
}
import java.util.Random;
导入javax.swing.JOptionPane;
公共类猜测编号3{
公共静态int目标=0;
公共静态void main(字符串[]args){
随机R=新随机();
目标=R.nextInt(100);
字符串猜测字符串;
智力猜测;
整数计数=0;
int最佳分数=0;
系统输出打印项次(目标);
做{
//以字符串形式从用户处读入一个数字
guessString=JOptionPane.showInputDialog(“输入第一个整数”);
//将数字从字符串类型转换为int类型
guess=Integer.parseInt(猜测字符串);
计数++;
如果(猜测>目标){
showMessageDialog(null,“您的猜测太高”,“提示”,
JOptionPane.普通消息);
}否则{
如果(猜测<目标){
showMessageDialog(null,“您的猜测太低”、“提示”,
JOptionPane.普通消息);
}
}
系统输出打印项次(计数);
如果(计数=6)
打破
}while(猜!=目标);
如果(猜测==目标)
showMessageDialog(null,“您通过“+count+”猜测找到它。”,
“祝贺你!”,JOptionPane。普通消息);
其他的
JOptionPane.showMessageDialog(null,“您已达到本次围棋的最大尝试次数”,
“注意”,JOptionPane。普通信息);
如果(计数<最佳分数)
最佳分数=计数;
}
}

有人能帮我学习第3部分和第4部分吗?

我建议通过面向对象的设计来解决这个问题。根据你的要求,你有

  • 用户-有一个名称
  • 会话-会话是针对用户的
  • 尝试-在游戏中用户猜测时完成
  • 游戏-最大尝试次数为6次
所以在伪代码中

   class User
   {
      String name;
   }

   class Session
   {
      User user;
      Game currentGame;

      void startNextGame()
      {
          //create game, when game end, ask to continue
      }
   }

   class Game
   {
      int ties = 6;
      int number;
      Game()
      {
          Random random = new Random();
          number = random.nextInt();
      }

      void play()
      {
         for( int i = 0; i < tries; ++i )                                                               
         {
             Attempt attempt = new Attempt( number );
             attempt.try();
             if( attempt.guessed() )
             {
                //Show guessed
                return;
             }                                                                                                                                                                               
         }
         //show unguessed   
      }
   }

   class Attempt()
   {
      int expectedNumber;
      Attempt( int number )
      {
         expectedNumber = number;
      }

      void try()
      {
         //get guess
      }

      boolean guessed()
      {
        //return result of try
      }
   }

void main()
{
     //getUser
     User user;
     //if I have session for user, getSession, if not create and store ex. map
    //start next game in session
}
类用户
{
字符串名;
}
课堂
{
用户;
游戏当前游戏;
void startNextGame()
{
//创建游戏,当游戏结束时,要求继续
}
}
班级游戏
{
int=6;
整数;
游戏()
{
随机=新随机();
number=random.nextInt();
}
无效播放()
{
for(int i=0;i
关于第3和第4条,您是否有具体问题?否需要存储名称的原因是,当用户希望终止会话时,可以将其性能写入记录文件。