Java 如何重新启动这个类?或者卸载并装载它?

Java 如何重新启动这个类?或者卸载并装载它?,java,switch-statement,Java,Switch Statement,我有一个类,有一堆println,然后我有一个开关。关键是,用户有3个选项,其中一个选项是错误的,会让他回到起点。我试着从类内部重新创建类,但没有成功,因为当它完成最近的类时,它会返回到上一个类并完成它。也许解决方案很简单,我只是不知道怎么做,我已经在学校编程两周了。。。如果你需要一个例子,我可以输入一个,但它只是一个开关,里面有三个盒子,其中两个说了不同的话,但还是打破了开关,第三个说了别的话,但重新启动。 有什么建议吗 Switch (choice1){ case 1: System

我有一个类,有一堆println,然后我有一个开关。关键是,用户有3个选项,其中一个选项是错误的,会让他回到起点。我试着从类内部重新创建类,但没有成功,因为当它完成最近的类时,它会返回到上一个类并完成它。也许解决方案很简单,我只是不知道怎么做,我已经在学校编程两周了。。。如果你需要一个例子,我可以输入一个,但它只是一个开关,里面有三个盒子,其中两个说了不同的话,但还是打破了开关,第三个说了别的话,但重新启动。 有什么建议吗

  Switch (choice1){
  case 1: System.out.println("Blabla"); break;
  case 2: System.out.println("Blabla"); break;
  case 3: System.out.println("Blabla"); break;
  default: System.out.println("That is not a valid number."); break;}
那里。。。这只是一个开关。。。 编辑:正如我所说的,我对java编程还不太了解,所以如果没有代码帮助,我想我无法解决这个问题

解决了!我一个人。俯视

      Switch (choice1){
      case 1: System.out.println("Blabla"); break;
      case 2: System.out.println("Blabla"); break;
      case 3: System.out.println("Blabla"); break;
      default: System.out.println("That is not a valid number."); nameoftheclass nameoftheobject = new nameofthemethod(); break;}
      if (choice1 >2)
          {}
      else
          {rest of the code...}

我建议您创建一个init()方法来完成类的所有初始化。在构造函数中,调用init()。然后,在程序的后面需要重新开始时,再次调用init()。

带有循环的简单示例:

boolean correct = false;
while(correct == false){
    //Your question and input reading needs to be here, inside the loop.
    Switch (choice1){
      case 1: System.out.println("Blabla"); correct = true; break;
      case 2: System.out.println("Blabla"); break;
      case 3: System.out.println("Blabla"); correct = true; break;
      default: System.out.println("That is not a valid number."); break;}
}
将重复此操作,直到选择正确的答案,并将正确标志设置为true


请注意,这并不是解决问题的最佳方法,而是一种非常简单且易于理解的方法。如果您计划有多个问题,则应将此代码提取到一个方法,该方法接受:问题、答案、哪个答案正确的指示符。

在问题框中回答我自己。

我的答案将是循环。向我们展示代码以获得更好的答案。请向我们展示代码,以便我们能够准确理解您的意思。重新启动或加载和卸载是什么意思?可能会实例化类的新对象…我建议您学习更多关于Java和流控制的知识,谢谢您,但我相信我在发布本文之前已经解决了它。无论如何,谢谢你的帮助。我该如何将我的问题标记为已解决?你的“解决方案”充其量也很糟糕。您不能将其标记为已解决,但是您可以回答自己的问题并接受答案。但是你的“答案”不是一个好答案,相信有经验的人。--老兄,如果你这么专业,为什么不给出一个完美的答案呢?我没看到你旁边有。另外,我需要等待8个小时才能回答自己的问题,因为我在大约30分钟前创建了这个帐户。这仅仅是因为你很可能无法理解关于你当前编程能力的答案。只是一个友好的指针,表现得像个孩子,你可能是,如果你继续这样下去,你将来不会得到太多帮助。先生,你能看看你自己和你以前的评论吗?我所做的只是表现得像你,只是少了些花言巧语。它现在不那么幼稚了吗?当它第一次被创建时,你的类现在在做什么?在构造函数中初始化的任何内容都将被移动到init方法中。