I have a class, Variation, with three String fields: id, name, price. I populate a list of 25 of them with a random string of random characters, "name" plus + index (for name), and "price" + index (for price).
When I iterate through each Variation, I'm using:
System.out.println(i + "\tid: " + variation.id + "\tname: " + variation.name + "\tprice: " + variation.price);
My output is:
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
Here are the relevant parts of the code:
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);
}
}
Variation.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;
}
}
It's not that important and I'm probably overlooking something silly, but can anyone see why it doesn't print all the tabs?
As everyone else has stated it's expected behavior. However, if you want uniform output (I'm pretty OCD about that) I would add an if else statement in the for loop of the onResume method that added a 0 before every single digit number, this should cause the tabs to all be uniform.
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);
}}}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.