我在用逗号分割字符串时遇到问题

时间:2018-04-16 01:58:54

标签: java

这是我的代码和抛出的错误:

import java.util.Scanner;

public class ParseStrings {
   public static void main(String[] args) {
   Scanner scnr  = new Scanner(System.in);
        Scanner inSS = null;
        String inputString = "";
        String firstWord = "";
        String secondWord = "";

        inSS = new Scanner(inputString);
        boolean flag = false;
        while (!flag){
            System.out.print("Enter input string: \n");
            inputString = scnr.nextLine();
         if (inputString.equals("q")){
             flag = true;
         break;
         }
            // comma = inputString.indexOf(",");
         if (!inputString.contains(",")){
         System.out.println("Error: No comma in string");
         }
         // if (comma <= 0)
         // {
         // System.out.println("Error: No commas in string.");
         // flag = true;
         // }
         // else
         // {
         else
         {
         for (int i = 0; i < inputString.length(); i++){
         firstWord = inSS.next();
         // comma = inSS.next();
         secondWord = inSS.next();
         System.out.println("First word: " + firstWord);
         System.out.println("Second word: " + secondWord);
         // flag = false;
         }


         return;
         }
        }
         }           
}

输入 吉尔,艾伦 q

您的输出以Enter输入字符串开头: 线程“main”java.util.NoSuchElementException中的异常     在 预期输出以
开始 输入输入字符串: 第一个字:吉尔 第二个词:艾伦

1 个答案:

答案 0 :(得分:0)

有几种方法可以完成这项任务,但我想指出一些来自Java String Class的常用方法。

  1. String.substring() 与...结合 String.indexOf() 方法可以快速拆分字符串以获取所需的数据 它会像这样工作:

    String inputString = "Hello, World";
    String firstWord = inputString.substring(0, inputString.indexOf(","));
    String secondWord = inputString.substring(inputString.indexOf(",") + 2); 
    // Why use the number 2 above? Read the supplied links. Try it with 1
    // to see what happens.
    System.out.println(firstWord + "-" + secondWord);
    
  2. 另一种值得研究的方法是 String.split() 方法。使用此方法可以快速处理您正在尝试的内容 通过获取输入字符串并放置字符串组件来完成 用逗号(或其他)分隔成一维的 字符串数组:

    String inputString = "Hello, World";
    String[] words = inputString.split(", ");
    System.out.println(words[0] + "-" + words[1]);
    
  3. 了解这些方法。