簡體   English   中英

如何解析Java中的String?

[英]How to parse a String in Java?

這是我的代碼:

   import java.io.*;
   import java.util.*;

   public class Testing {
       public static void main(String[] args) {
           Scanner in = new Scanner(System.in );
           PrintStream out = System.out;

           String input = in .next();
           String output = "";
           char c = 0;
           int count = 0;
           int countInput = input.length();

           for (int i = 0; i < countInput; i++) {
               if (i == 0) {
                   c = input.charAt(i);
                   count++;
               } else {
                   if (c == input.charAt(i)) {
                       count++;
                   } else {
                       output = output + count + "" + c;
                       count = 1;
                       c = input.charAt(i);
                       out.println(output);
                   }
               }
           }
           output = output + count + "" + c;
           out.println(output);
       }
   }

這個程序假設像這樣工作:

輸入:

java測試AAAAAnnnfffkk

輸出:

5A3n3f2k

我需要以某種方式解決這個問題:

String input = in.next();

我認為必須在某個地方使用args ,但我不知道在哪里。

你的程序邏輯沒問題。 但根據您的想法,您將不需要Scanner類。

如果您希望輸入來自arguments數組: main(String[] args) ,那么您需要將其分配給您的輸入:

String input = args[0];

但是,嘿,如果你運行程序而不給出參數怎么辦? 它會拋出異常,因此您需要進行某種錯誤處理:

String input = "";
if (args.length > 0) {
    input = args[0];
}

我們可以一次完成這一步。

首先,編寫一個程序來獲取輸入,然后一次打印一個字符。

原因是你需要讀取輸入,並一次處理一個字符,所以第一步是讓循環機制失效。

一旦你正確循環,我們就會擔心計算重復字母的邏輯。

完成后編輯你的帖子,我會在這里發布更多信息。

你肯定需要一個主要的方法。 嘗試閱讀有關主要內容的鏈接。 希望能幫助到你。 http://www.dreamincode.net/forums/topic/38921-a-closer-look-at-the-main-method/

在代碼示例中:

//importing lib
import java.util.Scanner;

//file name "Hello.java"
public class Hello {
    //Main method
    public static void main(String[] args) {
        //input reader
        Scanner input = new Scanner(System.in);
        //output storage
        StringBuilder output = new StringBuilder("");


        //read a line, you can use other command in this class to parse
        output.append(input.nextLine());
        //write a line
        System.out.println(output.toString());
    }
}

編輯:

如果你想使用args那么:

public class Hello {
    // Main method
    public static void main(String[] args) {
        // output storage
        StringBuilder output = new StringBuilder("");
        // check if there are arguments
        if (args.length > 0) {
            // use string
            output.append(args[0]);
        }
        // write a line
        System.out.println(output.toString());
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM