Spa*_*186 2 java arrays sorting string algorithm
我想编写一个简单的程序,要求您通过键盘输入数字(每个数字用空格或逗号分隔),然后将它们从低到高排序.
我想到的是要求用户通过键盘输入数字,将输入设置为String对象,然后通过for循环传递String,确定字符是数字还是普通字符.如果caracter是一个数字,它将附加到一个String数组的字段并查找下一个数字并执行相同的操作,直到一个字符不是数字; 在这种情况下,它会查找另一个数字并重复相同的过程,但使用下一个String数组的字段.一旦程序通过了String String的长度,String Array的每个字段都将转换为int,因此可以对其进行排序.
问题是我不知道如何将未定义数量的字符添加到a String
.我所做的是以下内容:
public class StartHere {
public static void main(String[] args) {
int[] numbers;
String input;
boolean fieldUsed = false;
int len = 0;
Scanner scanner = new Scanner(System.in);
input = scanner.next();
numbers = new int[input.length()];
String[] aux = new String[input.length()];
int numOfAuxField = 0;
for (int i = 0; i < input.length(); i++) {
do{
if(Character.isDigit(input.charAt(i))){
aux[numOfAuxField].append((input.charAt(i)).toString());
i++;
fieldUsed = true;
}else{
if(fieldUsed == true){
numOfAuxField++;
}
} while(Character.isDigit(input.charAt(i)));
}
for (int a = 0; a < numbers.length; a++){
if(aux[a] != null){
numbers[a] = Integer.parseInt(aux[a]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它说
无法在基本类型char上调用toString()
在第16行.我已经找到了答案,但他们都是预定义的字符数.
我能做什么?
您应该使用以下方法之一:
Character.toString(input.charAt(i))
"" + input.charAt(i)
String.valueOf(input.charAt(i))
代替 (input.charAt(i)).toString()
原始类型没有方法可以使用它们.
归档时间: |
|
查看次数: |
274 次 |
最近记录: |