В System.out.println () отсутствуют строки ("\ t") в некоторых строках - PullRequest
0 голосов
/ 21 января 2020

У меня есть класс Variation с тремя строковыми полями: id, name, price. Я заполняю список из 25 из них случайной строкой случайных символов: «имя» плюс + индекс (для имени) и «цена» + индекс (для цены).

Когда я выполняю итерацию по каждой вариации Я использую:

System.out.println(i + "\tid: " + variation.id + "\tname: " + variation.name + "\tprice: " + variation.price);

Мой вывод:

I/System.out: 0 id: 6N8D06S80DIEJQH9KJAG    name: name0 price: price0
I/System.out: 1 id: XCKGYA0W4YNKE25MRGKD    name: name1 price: price1
I/System.out: 2 id: UGI8Y6MCNDKEGR74F13L    name: name2 price: price2
I/System.out: 3 id: EHLXW3FGYSNE2XMFCT1P    name: name3 price: price3
I/System.out: 4 id: X1ONX4WZLWH41Z7UW3TE    name: name4 price: price4
I/System.out: 5 id: VG65ZGTDQ5C2TBYF26MZ    name: name5 price: price5
I/System.out: 6 id: HGK12SKUXSOZK0JDLL70    name: name6 price: price6
I/System.out: 7 id: DQJTDT108CWBJQOED06X    name: name7 price: price7
I/System.out: 8 id: YTRIZIMS5N5VZQUEJQ8L    name: name8 price: price8
I/System.out: 9 id: 59DGBOFULRZPJF7P53PN    name: name9 price: price9
I/System.out: 10    id: BLQ78XTDZQBUIXICWF2Q    name: name10    price: price10
I/System.out: 11    id: NY3PZ5RRIWAF92O5Z49D    name: name11    price: price11
I/System.out: 12    id: KPLYK1GFBIL92JPSYNK8    name: name12    price: price12
I/System.out: 13    id: 6MTB849NN6IZ2I5GSTF5    name: name13    price: price13
I/System.out: 14    id: 7718U4CXMD97YY1TUQ38    name: name14    price: price14
I/System.out: 15    id: GJOUN8U0SVIZDIH2WHAY    name: name15    price: price15
I/System.out: 16    id: D3CTCP9E7722LCRF07SM    name: name16    price: price16
I/System.out: 17    id: IWHDK9N49YC3DJOK0JY0    name: name17    price: price17
I/System.out: 18    id: 0ZTGE33GDWG42QGLDTHJ    name: name18    price: price18
I/System.out: 19    id: GRRJQ2KFLNFPS817WQCE    name: name19    price: price19
I/System.out: 20    id: GJSHJMLYXMMB5ZKDJ91B    name: name20    price: price20
I/System.out: 21    id: 2DE7RW6M50N3M7HE7IJG    name: name21    price: price21
I/System.out: 22    id: HBR2SVAHWXUP8QDQONIZ    name: name22    price: price22
I/System.out: 23    id: OAYUHH3138Q6PTRJX7HB    name: name23    price: price23
I/System.out: 24    id: FFIK3FR3K7ZKOYV77E2O    name: name24    price: price24

Вот соответствующие части кода:

Main :

    List<Variation> variationsList = new ArrayList<>();

    void populateVariationsList() {
        for(int i = 0 ; i < 25; i++)
            variationsList.add(new Variation(getRandomId(), "name" + i, "price" + i));
    }

    String getRandomId() {
        String CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        StringBuilder randomId = new StringBuilder();
        Random rnd = new Random();
        while (randomId.length() < 20)
            randomId.append(CHARS.charAt(rnd.nextInt(36)));
        return randomId.toString();
    }

    public void onResume() {
        super.onResume();
        for(int i = 0; i < variationsList.size(); i++) {
            Variation variation = variationsList.get(i);
            System.out.println(i + "\tid: " + variation.id + "\tname: " + variation.name + "\tprice: " + variation.price);
        }
    }

Вариация. java:

public class Variation {

    String id;
    String name;
    String price;

    public Variation(String id, String name, String price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }
}

Это не так важно, и я, наверное, упускаю из виду что-то глупое, но кто-нибудь может понять, почему он не печатает все вкладки?

1 Ответ

0 голосов
/ 21 января 2020

Как и все остальные заявили, это ожидаемое поведение. Тем не менее, если вы хотите получить равномерный вывод (я об этом довольно странно), я бы добавил оператор if else в for l oop метода onResume, который добавляет 0 перед каждым отдельным числом di git, это должно вызвать все вкладки должны быть одинаковыми.

public void onResume() {
            super.onResume();
            for(int i = 0; i < variationsList.size(); i++) {
                Variation variation = variationsList.get(i);
                if(i < 10){
                    System.out.println( "0" + i + "\tid: " + variation.id + "\tname: " + variation.name + 
        "\tprice: " + variation.price);}
                else{
                     System.out.println(i + "\tid: " + variation.id + "\tname: " + variation.name + "\tprice: " + variation.price);
    }}}
...