您正在2個大錯誤:
1)要指定每個字符串整個輸入stringArray[i] = input;
2)你必須遍歷您的字符串數組中的每個元素。 在Java8
這可以通過Arrays.stream()輕鬆完成。
一個修正你的代碼的版本是:
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
System.out.println("Enter letters");
Scanner kb = new Scanner(System.in);
String input = kb.nextLine();
int stringLength = input.length();
String[] stringArray = new String[stringLength];
for (int i = 0; i < stringLength; i++)
{
stringArray[i] = Character.toString(input.charAt(i));
}
Arrays.stream(stringArray).forEach(System.out::print);
}
}
順便說一句。 String[] stringArray=input.split("");
會短得多。
附加: 如果要排序輸出:
stringArray=Arrays.stream(stringArray).sorted().toArray(String[]::new);
Arrays.stream(stringArray).forEach(System.out::print);
和你做。
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
System.out.println("Enter letters");
Scanner kb = new Scanner(System.in);
String input = kb.nextLine();
String[] stringArray=input.split("");
stringArray=Arrays.stream(stringArray).sorted().toArray(String[]::new);
Arrays.stream(stringArray).forEach(System.out::print);
}
}
在輸入字符串轉換爲字符數組使用'input.toCharArray()' –
你忘了分揀部件;) –