Вот что я пытаюсь сделать sh. Когда вы вводите числа в этом формате
1 2 2 3 3 4 4 5 6
, вы получаете
1 1 2 2 3 2 4 2 5 1 6 1
Другими словами, он говорит вам, сколько у вас каждой строки. Проблема в том, что я не могу понять, как получить пробелы между выходными данными. Это код:
import java.util.Scanner;
public class RunLengthEncoding {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
System.out.print("Enter a sequence of integers separated by spaces:");
String input = scan.nextLine();
System.out.println("Input: " + input);
String c = " ";
char ch = 0;
int count = 1;
for (int x = 0; x < input.length(); x++)
if (input.charAt(x) != ' ') {
if (ch == input.charAt(x)) {
count = count + 1;
} else {
c = c + ch;
if (count != 1) {
c = c + count;
}
ch = input.charAt(x);
count = 1;
}
}
c = c + ch;
if (count != 1) {
c = c + count;
}
System.out.println("encoder output:");
System.out.println(c);
System.out.println("\t");
}
}