在Java中,我可以使用startsWith和endsWith来检查用户输入字符串吗?具体来说,要比较输入的第一个和最后一个字符?
编辑:哇你们这些人很快。感谢您的回复。EDIT2:所以CharAt更有效率。
那么如何捕捉第一封信和最后一封信?
char result1 = s.charAt(0); char result2 = s.charAt(?);
EDIT3:我非常接近使这个循环工作,但是有些事情是非常错误的。
我之前得到了一些非常好的帮助,再次感谢大家。
import java.util.Scanner;
public class module6
{
public static void main(String[]args){
Scanner scan = new Scanner(System.in);
while(true){
System.out.print("Please enter words ending in 999 \n");
System.out.print("Word:");
String answer;
answer = scan.next();
char aChar = answer.charAt(0);
char bChar = answer.charAt(answer.length()-1);
String MATCH = new String("The word "+answer+" has first and last characters that are the same");
String FINISH = new String("Goodbye");
if((aChar == bChar));
{
System.out.println(MATCH);
}
if(answer !="999")
{
System.out.println(FINISH);
break;
}
}
}
}
循环只执行所有内容,无论输入什么。我哪里做错了?
答案 0 :(得分:3)
在Java中,我可以使用startsWith和endsWith来检查用户输入字符串吗?
您当然可以:这就是这些API的用途。将输入读入String
,然后根据需要使用startsWith
/ endsWith
。根据您用于收集输入的API,您可能需要进行null
检查。但API本身相当简单,而且它正如其名称所说的那样。
具体来说,要比较输入的第一个和最后一个字符?
对单个字符使用startsWith
/ endsWith
将是一个重大的过度杀伤力。您可以根据需要使用charAt
获取这些字符,然后使用==
进行比较。
答案 1 :(得分:1)
是的,你应该能够做到这一点,它应该非常简单。你有没有要求复杂性?
答案 2 :(得分:1)
是的,事实上,不仅是字符,还包括整个字符串。
例如
public class SOQ4
{
public static void main(String[] args)
{
String example = "Hello there my friend";
if(example.startsWith("Hell"))
{
System.out.println("It can do full words");
}
if(example.startsWith("H"))
{
System.out.println("And it can also do letters");
}
if(example.endsWith("end"))
{
System.out.println("Don't forget the end!");
}
if(example.endsWith("d"))
{
System.out.print("Don't forget to upvote! ;)");
}
}
}
我建议您使用API,这里是指向它的链接http://docs.oracle.com/javase/7/docs/api/java/lang/String.html