Как сформатировать возврат метода в нужном стринговом формате Java?

138
16 декабря 2019, 20:00

Подскажите, как сделать return int массива в виде строки без [ , , , ] имею [100, 180, 90, 56, 65, 74, 68, 86, 99, 555555] нужно 100 180 90 56 65 74 68 86 99 555555

Подскажите каким методом ?

Мой код:

import java.util.ArrayList;
import java.util.List;
import java.lang.String;
import java.lang.Integer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WeightSort {
public static String orderWeight(String strng) {
    final String regex = "(\\d+)";
    final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
    final Matcher matcher = pattern.matcher(strng);
    List<Integer> list = new ArrayList<Integer>();
    while (matcher.find()) {
        list.add(Integer.parseInt(matcher.group(0)));
        }
    for (int count=0 ; count<list.size(); count++ ) {
        int min = weight(list.get(count));
        int min_i = count;
        for (int c2 = count + 1; c2 < list.size(); c2++) {
            if (weight(list.get(c2)) < min) {
                min = weight(list.get(c2));
                min_i = c2;
            }
        }
        if ( count != min_i){
            int tmp = list.get(count);
            list.set(count, list.get(min_i));
            list.set(min_i, tmp);
        }
    }
}
public static int weight(int dig) {
    int num = dig;
    int sum = 0;
    while (num > 0) {
        sum = sum + num % 10;
        num = num / 10;
    }
    return sum;
  }
}
Answer 1

Вероятно Вы это хотите?

public class integers {
    public static void main(String[] args) {
        int[] arr = new int[]{1,2,3,4,5};
        StringBuilder sb = new StringBuilder();
        for (int i : arr) {
            sb.append(i).append(' ');
        }
        System.out.println(sb.trim());
    }
}
Answer 2

Никаким. Скобки [] и запятые не являются частью массива, а обозначают его. Если вам нужно вывести элементы массива отдельно (на экран, например), то нужно решать вашу задачу в месте вывода, а не в функции, возвращающей массив.

Answer 3
private static String getStringFromArray(int[] arr) {
    return Arrays.stream(arr)
            .mapToObj(Integer::toString)
            .collect(Collectors.joining(" "));
}
Answer 4

Да спасибо @Stranger in the Q. В моем случае выглядит так

    StringBuilder sb = new StringBuilder();
        for (int i : list) {
            sb.append(i).append(' ');
        }
        sb.delete(sb.length()-1,sb.length());
             return sb.toString();
READ ALSO
Как с помощью js вытащить id дива

Как с помощью js вытащить id дива

Есть несколько дивов(их количество зависит от длинны листа)

167
Не получается сравнить два списка, один из которых получен через intent

Не получается сравнить два списка, один из которых получен через intent

Я пытаюсь сделать приложение, которое сможет симулировать регистрацию графического пароля и авторизацию по нему(на самом деле под каждой...

170
Не понял асинхронность JavaScript

Не понял асинхронность JavaScript

Есть две асинхронные функции:

183