import java.util.Scanner;
 
 public class StringTokenizer {
 
  /**
   *切割字符
   * 
   * @param args
   */
  public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.out.println("请输入:");
  Scanner inp = new Scanner(System.in);
  String string = inp.next();
 
  String[] result = string.split("\\s");
  for (int x = 0; x < result.length; x++) {
  System.out.println(result[x]);
  }
 
  }
 
 }
比如我输入的是: You are good boy
希望输出: 
You
are
good
boy

解决方案 »

  1.   

    Scanner读取输入信息的时候是以空格区分开的,可以像下面代码这样读取输入:public static void main(String args[]) throws IOException {
    System.out.println("请输入:");
    Scanner inp = new Scanner(System.in);
    while (inp.hasNext()) {
    String string = inp.next();
    System.out.println(string);
    }
    inp.close();
    }
      

  2.   

       String input = "1 fish 2 fish red fish blue fish";
         Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
         System.out.println(s.nextInt());
         System.out.println(s.nextInt());
         System.out.println(s.next());
         System.out.println(s.next());
         s.close(); 
     输出为:      1
         2
         red
         blue 
    希望可以帮到你!!!
      

  3.   

    public static void main(String[] args) {
            // TODO Auto-generated method stub
            System.out.println("请输入:");
            Scanner inp = new Scanner(System.in);
            String string = inp.nextLine();        String[] result = string.split(" ");
            for (int x = 0; x < result.length; x++) {
                System.out.println(result[x]);
            }    }
    直接把inp.next();改成inp.nextLine();
      

  4.   

    public static void getBySplit(){
       // TODO Auto-generated method stub
            System.out.println("请输入:");
            Scanner inp = new Scanner(System.in);
            String string = inp.nextLine();
            String[] result = string.split(" ");
            for (int x = 0; x < result.length; x++) {
                System.out.println(result[x]);
            }
        }