Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中解析字符串?_Java_String - Fatal编程技术网

如何在Java中解析字符串?

如何在Java中解析字符串?,java,string,Java,String,这是我的代码: 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 .ne

这是我的代码:

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

我认为必须在某个地方使用
args
,但我不确定在哪里使用。

我们可以一步一步地完成这个过程

首先,编写一个程序来获取输入,然后一次打印一个字符

原因是您需要读取输入,并一次处理一个字符,因此第一步是让循环机制停止

一旦循环正确,我们就可以担心重复字母计数的逻辑


完成后编辑您的帖子,我将在此处发布更多信息。

我们可以一步一步地完成此操作

首先,编写一个程序来获取输入,然后一次打印一个字符

原因是您需要读取输入,并一次处理一个字符,因此第一步是让循环机制停止

一旦循环正确,我们就可以担心重复字母计数的逻辑


完成后编辑您的帖子,我将在这里发布更多信息。

您肯定需要一个main方法。请尝试通过此链接阅读有关主要问题的内容。希望能有帮助。
您肯定需要一个main方法。请尝试通过此链接阅读有关主要问题的内容。希望能有帮助。

在代码示例中:

//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());
    }
}
在代码示例中:

//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());
    }
}

您的程序逻辑正常。但是基于您想要做的,您将不需要
Scanner

如果希望输入来自arguments数组:
main(String[]args)
,则需要将其分配给输入:

String input = args[0];
但是,如果你在没有给出参数的情况下运行程序呢?它将引发异常,因此您需要进行某种错误处理:

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

您的程序逻辑正常。但是基于您想要做的,您将不需要
Scanner

如果希望输入来自arguments数组:
main(String[]args)
,则需要将其分配给输入:

String input = args[0];
但是,如果你在没有给出参数的情况下运行程序呢?它将引发异常,因此您需要进行某种错误处理:

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

有静态main方法吗?阅读相关内容,您将了解如何向应用程序传递参数。中的
是什么?这可能有助于我们帮助您。这是其余的代码,它并没有让我发布它…导入java.io.*;导入java.util.*;公共类测试{public static void main(String[]args){Scanner in=new Scanner(System.in);PrintStream out=System.out;您有静态main方法吗?阅读相关内容,您将看到如何向应用程序传递参数。
中的
是什么?这可能会帮助您。以下是其余代码,我没有发布它……import java.io.*;import java.util.*;公共类测试{public static void main(String[]args){Scanner in=new Scanner(System.in);PrintStream out=System.out;import java.io.*;import java.util.*;公共类测试{public static void main(String[]args){Scanner in=new Scanner(System.in);PrintStream out=System.out;将您的代码发布到原始发布中,以便我们可以阅读。当然,它需要编译和运行。import java.io.*;import java.util.*;公共类测试{public static void main(String[]args){Scanner in=new Scanner(System.in);PrintStream out=System.out;在原始帖子中发布代码,以便我们阅读。当然,它需要编译和运行。