如何在一行显示所有的平均值以及下一行的所有赔率?需要显示25个整数。
public class OddsOrEvens
{
public static void main(String[] args)
{
int[] numbers = new int[25];
System.out.print ("EVENS & ODDS");
for(int i=0; i < 25; i++)
{
numbers [i] = (int) (Math.random()*99) + 1;
if(numbers[i]%2 == 0)
System.out.println(numbers[i] +" " );
else
System.out.println(numbers[i] +" " );
}
}
}
答案 0 :(得分:5)
不要立即打印每个数字,而是考虑建立两个字符串(第一个由evens组成,第二个由几率组成)。然后在完成后打印结果字符串。这应该只需要一个循环。
答案 1 :(得分:2)
在您提供的代码中,您可以在处理时打印每个数字。如果您想要在一行中打印,那么一种可能的解决方案是您在某个数组中存储商店号,或者使用字符串而不是显示数字。 因此,在您的代码中,此行必须更改
System.out.println(numbers[i] +" ");
像这样(如果你想将它们存储在字符串变量中)
even += numbers[i] +" ";
以及稍后当循环结束时,您可以逐个打印出这两行。 希望这会对你有所帮助
//Snippet
if(numbers[i]%2 == 0)
even += numbers[i] +" ";
else
odd += numbers[i] +" ";
//after loops ends
System.out.println(even);
System.out.println(odd);
答案 2 :(得分:0)
只需将所有事件保存在一个数组中,将所有事件保存在另一个数组中,然后单独打印。
答案 3 :(得分:0)
现在你正在单独打印它们。你可以做的是在for循环之前为odds声明一个String,为evens声明一个String。并将它们初始化为“”。然后在for循环而不是打印中,只需将数字[i]添加到字符串中并将它们打印在for循环之外
答案 4 :(得分:0)
或者......
阅读javadoc for PrintStream
,'cos System.out
是PrintStream
。看看可用的不同打印方法。
答案 5 :(得分:0)
创建一个字符串来保存它们,并在结尾处立即显示它们:
public class OddsOrEvens
{
public static void main(String[] args)
{
int[] numbers = new int[25];
String evens = "";
String odds = "";
System.out.print ("EVENS & ODDS");
for(int i = 0; i < 25; i++)
{
numbers [i] = (int) (Math.random() * 99) + 1;
if(numbers[i] % 2 == 0)
evens += numbers[i] + " "; // save it to evens string
else
odds += numbers[i] + " "; // save it to odds string
}
// now print them
System.out.println("Evens: " + evens);
System.out.println("Odds: " + odds);
}
}