Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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 - Fatal编程技术网

Java 如何将一串数字转换为排序整数?

Java 如何将一串数字转换为排序整数?,java,Java,如果我有String x=“2016”如何将其转换为int类型的6210 我正在努力 String x = "2016" int v = 0; for (int k = 0; k < x.length(); k++) { if (v < x.charAt(k) - '0') { v = x.charAt(k) - '0'; } } v *= 1000; String x=“2016” int v=0; 对于(int k=0;k

如果我有String x=“2016”如何将其转换为int类型的6210

我正在努力

String x = "2016"
int v = 0;
for (int k = 0; k < x.length(); k++) {
    if (v < x.charAt(k) - '0') {
        v = x.charAt(k) - '0';
    }
}
v *= 1000;
String x=“2016”
int v=0;
对于(int k=0;k
但是我不知道下一步要做什么

char[]stringVals=x.tocharray();
char[] stringVals = x.toCharArray();
int[] results = new int[stringVals.length];
for (int i = 0; i < stringVals.length; i++) {
        try {
            results[i] = Integer.parseInt(stringVals[i]);
        } catch (NumberFormatException nfe) {
            //NOTE: write something here if you need to recover from formatting errors
        };
    }
 Arrays.sort(results);
 String sortedResult = Arrays.toString(results);
int[]结果=新的int[stringVals.length]; 对于(int i=0;i
试试看

但是您不能使用字符(正如前面在回答中提到的海报),因为字符与Integer.parseInt不兼容,只能使用字符串

尝试将字符串解析为数组,如下所示:

String[] numbers = x.split("");
潜在解决方案:

String x = "2016";

    String[] numbers = x.split("");
    Integer[] nums = new Integer[numbers.length];
    for (int k = 0; k < numbers.length; k++) {

        nums[k] = Integer.parseInt(numbers[k]);
                }

    Arrays.sort(nums, Collections.reverseOrder());
    StringBuilder strNum = new StringBuilder();

    for (int num : nums){
        strNum.append(num);
        }
    int finalInt = Integer.parseInt(strNum.toString());
    System.out.println(finalInt);
String x=“2016”;
字符串[]数字=x.split(“”);
整数[]nums=新整数[numbers.length];
for(int k=0;k
使用
java-8

String reversed = Arrays.stream(x.split(""))
                        .sorted(String.CASE_INSENSITIVE_ORDER.reversed())
                        .collect(Collectors.joining());

int v = Integer.parseInt(reversed);

调用
tocharray()
,对数组进行排序、反转并解析为整数。我只能使用for和while loopsOk,然后调用
tocharray()
,使用自己的排序代码对数组进行降序排序,然后从中生成整数值。六羟甲基三聚氰胺六甲醚。。。。这和我的第一个评论差不多。或者,如果不允许使用
tocharray()
,也可以自己做。