在Java中检查字符串长度并使用do while
我想创建一个程序,在其中输入一个字符串,它会检查长度是否为9。如果是,它会发出一个信息,表示一切正常。如果不是,它将给出一条不是的消息,并提示用户再次输入字符串。在运行它时,我总是觉得这是错误的。我哪里做错了在Java中检查字符串长度并使用do while,java,do-while,Java,Do While,我想创建一个程序,在其中输入一个字符串,它会检查长度是否为9。如果是,它会发出一个信息,表示一切正常。如果不是,它将给出一条不是的消息,并提示用户再次输入字符串。在运行它时,我总是觉得这是错误的。我哪里做错了 import java.util.*; public class Sec { public static void main(String[] args) { Scanner Secnum = new Scanner(System.in); Syst
import java.util.*;
public class Sec {
public static void main(String[] args) {
Scanner Secnum = new Scanner(System.in);
System.out.println("Give Sec: ");
String Sec = Secnum.nextLine();
do{
if (Sec.length()!= 9);
System.out.println("Wrong lenght Sec,enter again");
Secnum.nextLine();
}while (Sec.length() == 9);
System.out.println("Sec lenght okay");
}
}
您正在终止if语句
if(秒长()!=9)代码>
因此,无论是否为真,下一次打印总是执行
将故障逻辑放入if
块中
if (Sec.length()!= 9) {
// Print failure message
// Other logic
}
您正在终止if语句
if(秒长()!=9)代码>
因此,无论是否为真,下一次打印总是执行
将故障逻辑放入if
块中
if (Sec.length()!= 9) {
// Print failure message
// Other logic
}
只要长度不是9,就需要请求一个新值
所以你的循环应该有这个条件。如果您的回答不正确,请进一步说明。如果Java中需要大括号,否则只会影响下一条语句。语句也只能是分号。所以你的if语句是完全无用的
为了使代码更加紧凑,可以去掉if并交换do-while循环。仅当条件为真时才会运行,无论条件如何,都不会在开始时运行一次
应该更好地工作的代码:
import java.util.*;
public class Sec {
public static void main(String[] args) {
Scanner secnum = new Scanner(System.in);
System.out.println("Give Sec: ");
String sec = secnum.nextLine();
while (sec.length() != 9) {
System.out.println("Wrong lenght Sec,enter again");
secnum.nextLine();
}
System.out.println("Sec lenght okay");
}
}
旁注:使用小写变量名。这是更好的代码样式:)只要长度不是9,就需要请求一个新值
所以你的循环应该有这个条件。如果您的回答不正确,请进一步说明。如果Java中需要大括号,否则只会影响下一条语句。语句也只能是分号。所以你的if语句是完全无用的
为了使代码更加紧凑,可以去掉if并交换do-while循环。仅当条件为真时才会运行,无论条件如何,都不会在开始时运行一次
应该更好地工作的代码:
import java.util.*;
public class Sec {
public static void main(String[] args) {
Scanner secnum = new Scanner(System.in);
System.out.println("Give Sec: ");
String sec = secnum.nextLine();
while (sec.length() != 9) {
System.out.println("Wrong lenght Sec,enter again");
secnum.nextLine();
}
System.out.println("Sec lenght okay");
}
}
旁注:使用小写变量名。这是更好的代码样式:)是否要继续循环,直到用户给出正确的输入?不,我不想。一旦它给出正确的输入,我将使用Sec进行其他计算。谢谢你你想继续循环直到用户给出正确的输入吗?不,我不想。一旦它给出正确的输入,我将使用Sec进行其他计算。谢谢你感谢geisterfurz007提供的所有提示和建议。正如我所说的,我是一个初学者,从一本书中自学(还有一本希腊文的书),所以我仍然错过了很多。不客气!每个人都是这样开始的;)如果答案有助于解决你的问题,考虑一下它的投票(当然还有其他你认为有帮助的)。如果答案完全回答了您的问题,请单击答案左侧的灰色复选标记接受答案。这将标志着这个问题为其他人解决,并将奖励我以及你!谢谢当然,我投了更高的票,但因为我的声誉(缺乏声誉),它没有表现出来。我会接受答案,太好了!再次感谢!感谢geisterfurz007提供的所有提示和建议。正如我所说的,我是一个初学者,从一本书中自学(还有一本希腊文的书),所以我仍然错过了很多。不客气!每个人都是这样开始的;)如果答案有助于解决你的问题,考虑一下它的投票(当然还有其他你认为有帮助的)。如果答案完全回答了您的问题,请单击答案左侧的灰色复选标记接受答案。这将标志着这个问题为其他人解决,并将奖励我以及你!谢谢当然,我投了更高的票,但因为我的声誉(缺乏声誉),它没有表现出来。我会接受答案,太好了!再次感谢!