英文:
how does on clear inputted strings from a Scanner in Java?
问题
以下是翻译好的部分:
package Printer;
import java.util.Scanner;
public class echo {
public static void print(String x) {
System.out.print(x);
}
public static String y;
public static String get(String x) {
Scanner inputx = new Scanner(System.in);
System.out.println(x);
y = inputx.nextLine();
inputx.close();
return y;
}
}
package story;
import Printer.echo;
import java.util.concurrent.TimeUnit;
public class MainStory {
public static void main(String[] args) throws InterruptedException {
echo.print("hello user and welcome to my dungeon \n");
echo.get("are you willing to go thru 100 floors each more deadlier "
+ "than the next");
if(echo.y.equals("yes")) {
echo.print("well what ya waiting for, lets hurry up and "
+ "pick your first class \n");
TimeUnit.MILLISECONDS.sleep(500);
echo.print("wait I'm supposed to give a list, "
+ "hold on give me like 2 seconds to fetch the list off my drive \n");
TimeUnit.SECONDS.sleep(2);
echo.print("ok here it is in its full glory");
echo.print("List of classes in Project: Ordus");
echo.print("Tank");
echo.print("Rogue");
echo.print("DPS");
echo.print("each class has a sus set of skills that "
+ "allow it to blossom into a very cool run");
echo.get("what shall it be \n");
String input = echo.y;
if(input.equals("tank") && echo.y.equals("Tank")) {
echo.print("you're a tank");
}
if(input.equals("rogue") && echo.y.equals("Rogue")) {
echo.print("you're a Rogue");
}
if(input.equals("DPS") && echo.y.equals("dps")) {
echo.print("you're a dps");
}
echo.print("this is the end of the story so far");
echo.print("please wait for an update in the near future");
}
else {
}
}
}
请注意,这只是您提供的代码的翻译部分。如果您有任何问题或需要进一步的帮助,请随时提问。
英文:
so I'm trying to make a small text adventure for some practice and I want to simplify things a bit. so I made a class that handles my text outputting and hopefully inputs. it worked the first time I tried to input something, but when I try again the code throws a NoSuchElementException.
here is the printer class
'''
package Printer;
import java.util.Scanner;
public class echo {
public static void print(String x) {
System.out.print(x);
}
public static String y;
public static String get(String x) {
Scanner inputx = new Scanner(System.in);
System.out.println(x);
y = inputx.nextLine();
inputx.close();
return y;
}
}
the part I'm working on
package story;
import Printer.echo;
import java.util.concurrent.TimeUnit;
public class MainStory {
public static void main(String[] args) throws InterruptedException {
echo.print("hello user and welcome to my dungeon \n");
echo.get("are you willing to go thru 100 floors each more deadlier "
+ "than the next");
if(echo.y.equals("yes")) {
echo.print("well what ya waiting for, lets hurry up and "
+ "pick your first class \n");
TimeUnit.MILLISECONDS.sleep(500);
echo.print("wait I'm supposed to give a list, "
+ "hold on give me like 2 seconds to fetch the list off my drive \n");
TimeUnit.SECONDS.sleep(2);
echo.print("ok here it is in its full glory");
echo.print("List of classes in Project: Ordus");
echo.print("Tank");
echo.print("Rogue");
echo.print("DPS");
echo.print("each class has a sus set of skills that "
+ "allow it to blossom into a very cool run");
echo.get("what shall it be \n");
String input = echo.y;
if(input.equals("tank") && echo.y.equals("Tank")) {
echo.print("your a tank");
}
if(input.equals("rogue") && echo.y.equals("Rogue")) {
echo.print("your a Rogue");
}
if(input.equals("DPS") && echo.y.equals("dps")) {
echo.print("your a dps");
}
echo.print("this is the end of the story so far");
echo.print("plese wait for a update in the near future");
}
else {
}
}
}
I want to try to clear the string before the user inputs again so I can be rid of the error.
答案1
得分: -2
足够的只是不关闭扫描器,所以只需删除 inputx.close() 这一行。
英文:
It'd be enough to not close the scanner, so just delete the inputx.close() line.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论