【发布时间】:2021-12-04 19:55:51
【问题描述】:
我正在为学校做一个项目,我正在努力让您在处理计算机提出的一系列问题时为自己设置一个名字。我希望用户能够在分配名称后立即更改他们的名称,如果他们不喜欢他们放下的内容或输入错误的内容。 现在程序第一次正确地分配了用户想要的名称,但是当它通过循环返回以将其更改为其他名称时,字符串保留为空白。 Console Output '''
import java.util.*;
public class JavaInputProdject
{
public static void main(String args[])
{
int i=0;
boolean boo = false;
int likeab = 0;
byte age;
boolean Old=false;
boolean aAge=true;
String user="User";
String un = user + "> ";
Scanner bob = new Scanner(System.in);
System.out.print("Bob> Hey User, My name is BOB.... what is your name?\n"+un);
do
{
user = bob.nextLine();
System.out.println("Bob> This is the Username you want? \""+ user +"\"(true/false)");
System.out.print(un);
if(bob.nextBoolean()==true)
{
boo = true;
un = user + "> ";
}
else
{
if(i>=3)
{
System.out.println("Bob> I realize it is kind of hard to pick a name but could you hurry up?");
}
System.out.print("Bob> Please type in a new Username\n"+un);
bob.next();
i++;
}
} while(boo==false);
}
}
'''
【问题讨论】:
-
不,我不认为是这样,我必须添加 next(),因为它跳过了 nextLine()。没有它,它会直接越过用户应该能够输入其用户名的位置。
标签: java string java.util.scanner user-input