我可以在Java中使用startsWith和endsWith来检查输入吗?

时间:2014-10-05 18:31:48

标签: java loops break

在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;
   }
   }
   }
   }

循环只执行所有内容,无论输入什么。我哪里做错了?

3 个答案:

答案 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