如何告诉用户他们之前使用 indexOf 输入了一个字母? JAVA
Posted
技术标签:
【中文标题】如何告诉用户他们之前使用 indexOf 输入了一个字母? JAVA【英文标题】:How do I tell user that they've previously entered a letter with indexOf? JAVA 【发布时间】:2013-12-31 06:38:27 【问题描述】:当用户输入一个字母时,它每次都会被添加到 newString 中。如果用户多次输入同一个字母,如何返回错误消息?
例如用户输入:a
、b
,然后是c
然后newString = "abc"
我只是不知道如何检查用户是否已经输入了一个字母。 例如,如果他们再次输入 a,它应该返回错误消息。
这是我目前所拥有的:
if (newString.indexOf(input) != -1 )
System.out.println( "Invalid" );
我认为它会起作用,因为它正在通过 newString
查找输入,如果不存在,它将返回 -1
。
【问题讨论】:
能把设置newString
的部分加进去吗?
当你尝试时会发生什么?
newString = newString+ 输入;
【参考方案1】:
如果我正确理解您的问题,我相信您可以使用 String contains
方法来检查一封信。应该是这样的:
if(newString.contains(letter))
【讨论】:
newString.indexOf(letter) != -1
工作得很好。这可能不是这里的问题。
仅供参考:包含的源代码是return indexOf(s.toString()) > -1;
好的,我有:if(newString.contains(input)) 但它只是返回它,好像它甚至没有检查字符串是否包含输入的字母?
@user3096470 请编辑您的原始问题并添加您用于该课程的所有代码,因为您的问题可能不仅仅是字符串比较。【参考方案2】:
使用contains
String s = "helo";
if (s.contains(input))
// reject
或
if (!s.contains(input)) // if string does not contain input
s += input; // concatenate to string
【讨论】:
contains()
在内部使用 indexOf()
。使用其中一个不应该有所作为。【参考方案3】:
试试这个
if(newString.indexOf(letter) != -1)
//Invalid
【讨论】:
【参考方案4】:试试这个
public static void main(String[] args) 抛出 IOException
String newString = "";
System.out.print("Enter letter: ");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine().toUpperCase();
while(true)
if (newString.contains(input))
System.out.println( "Invalid" );
else
newString = newString+ input;
input = br.readLine().toUpperCase();
【讨论】:
当我尝试这个时,它返回 Invalid for each character enter? 什么是newString的初始值,什么是操纵值?? String newString="";新字符串=新字符串+输入; 这里工作正常.. 你输入了什么?? 您是在 if 条件之前还是之后附加输入字符串? >>'newString=newString+ 输入;' 【参考方案5】:每次用户输入一个字符时,将该字符与String
中的现有字符进行对比。所以每次用户输入一个字符时,做这样的事情:
for (int i = 0; i < newString.length(); i++)
if (newString.charAt(i) == input)
System.out.println("Invalid");
else
System.out.println("Valid");
【讨论】:
当我用这个编译时,它说'找不到符号 - 可变长度'? 对不起,应该是length()
的方法。以上是关于如何告诉用户他们之前使用 indexOf 输入了一个字母? JAVA的主要内容,如果未能解决你的问题,请参考以下文章
如何确定 HTML 用户输入的高度和宽度并告诉 gridster 相应地适应?