Java 保持提示用户输入
我有任务要做。我需要把字母表转换成电话号码。在第3个数字后以及以后每4个数字后添加连字符。然后我需要允许用户继续输入。 我已经完成了3/4的代码。它不起作用了。我只是为了不断地提示用户输入而使用这个部件。 这是到目前为止我的java代码。请帮助我,告诉我我的代码出了什么问题。我是Java新手,请友好一点。谢谢大家!Java 保持提示用户输入,java,input,user-input,Java,Input,User Input,我有任务要做。我需要把字母表转换成电话号码。在第3个数字后以及以后每4个数字后添加连字符。然后我需要允许用户继续输入。 我已经完成了3/4的代码。它不起作用了。我只是为了不断地提示用户输入而使用这个部件。 这是到目前为止我的java代码。请帮助我,告诉我我的代码出了什么问题。我是Java新手,请友好一点。谢谢大家! public static void main (String[] args) { Scanner input = new Scanner (System.in);
public static void main (String[] args)
{
Scanner input = new Scanner (System.in);
System.out.println("Enter letters: ");
String phonenumber = input.next();
String phone = phonenumber.replaceAll("\\s", " ");
int count = 0;
int prevCount = 0;
while (!phone.equals("#")){
for (int i = 0; i < phone.length(); i++)
{
char letter = Character.toLowerCase(phone.charAt(i));
if (letter == 'a' || letter == 'b' || letter == 'c')
{
System.out.print(2);
count++;
}
if (letter == 'd' || letter == 'e' || letter == 'f')
{
System.out.print(3);
count++;
}
if (letter == 'g' || letter == 'h' || letter == 'i')
{
System.out.print(4);
count++;
}
if (letter == 'j' || letter == 'k' || letter == 'l')
{
System.out.print(5);
count++;
}
if (letter == 'm' || letter == 'n' || letter == 'o')
{
System.out.print(6);
count++;
}
if (letter == 'p' || letter == 'q' || letter == 'r' || letter == 's')
{
System.out.print(7);
count++;
}
if (letter == 't' || letter == 'u' || letter == 'v')
{
System.out.print(8);
count++;
}
if (letter == 'w' || letter == 'x' || letter == 'y' || letter == 'z')
{
System.out.print(9);
count++;
}
if (count == 3 || count - prevCount == 4)
{
System.out.print('-');
prevCount = count;
}
}
System.out.println();
System.out.println("Enter letters: ");
input.nextLine();
}
}
publicstaticvoidmain(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入字母:”);
字符串phonenumber=input.next();
字符串phone=phonenumber.replaceAll(“\\s”和“);
整数计数=0;
int-prevCount=0;
而(!phone.equals(“#”){
对于(int i=0;i
使用循环:
while (true)
{
System.out.println("Enter letters: ");
String phonenumber = input.next();
if something break;
或
你的问题是:
System.out.println();
System.out.println("Enter letters: ");
input.nextLine(); // you forgot to assign the String returned by nextLine
// into your phone variable
除此之外,您应该在while循环的每个迭代中重置计数器
while (!phone.equals("#")) {
int count = 0;
int prevCount = 0;
... your for loop ...
System.out.println();
System.out.println("Enter letters: ");
phone = input.nextLine();
}
谢谢你!我终于明白了。
while (!phone.equals("#")) {
int count = 0;
int prevCount = 0;
... your for loop ...
System.out.println();
System.out.println("Enter letters: ");
phone = input.nextLine();
}