【发布时间】:2016-12-08 13:04:39
【问题描述】:
尝试编写一个简单的 Java 程序,该程序接受一个字符串并根据两个标准进行验证。
如果单词短于 4 个字母,它会要求用户重新输入一个单词,直到它变成四个字母为止..
一旦该标准为真,它就会根据字母对其进行评估。如果四个字母单词的第一个字母是 D,那么它会打印一条愚蠢的消息“The D was found”,如果不是“No D found”
到目前为止,我所做的是验证四个字母。它会检查它是否是四个字母,如果不是,它会一直询问直到它得到一个四个字母的单词。
之后,当我输入四个字母的单词时,我无法在下一个 if 中验证它是否大于 4 个字母,然后检查它是否以 D 开头。
导入 java.util.Scanner;
公共类 POD1
{
private static Scanner scan = new Scanner(System.in);
private static String word;
public static void main(String [] args)
{
System.out.println("Please enter a 4 Letter word");
word = scan.next();
if(word.length() <4)
{
System.out.println("Word is to short ");
System.out.println("Plese re-enter");
word = scan.next();
}
if(word.length() > 4)
{
if(word.charAt(1) == 'd')
{
System.out.println("Big d");
} else
if( word.charAt(1) !='d')
{
System.out.println("No big d");
}
}
}
}
更新
现在的代码确实超过了 4 个字母的单词,但即使单词以 d 开头,即使它以 d 开头,它也不会打印出大 d
【问题讨论】:
-
那么你的问题是什么?
-
您可能需要考虑使用循环。例如,如果用户第二次输入一个简短的单词怎么办?此外,这是一个非常棒的地方,您可以在其中使用
else关键字(不是else if (...),只是简单的else)。 -
哦,
'd'和'D'之间有很大的不同。 -
另一件事:第一个索引是0 不是 1.数组,列表,字符串在Java中都是零索引;与大多数其他编程语言一样。
标签: java validation