我是初学者java课程,我对第5周的数组问题的输出语句有一个快速的问题。所以基本上我有程序的核心,但我应该将结果输出为十行。我出于某种原因即使在这里查看类似的帖子也无法让它工作。我是一名初学者,在编程时将2和2放在一起非常慢。一旦我看到它,我就有啊哈!这一刻以及整个班级的走向。我知道我必须使用模数,但在我的试验和错误中,我迷失了方向并且可能造成了更多的伤害而不是好处。帮助将不胜感激。
这就是我所拥有的,正如你所知道我正在尝试没有模数的东西:
import java.util.*;
public class ArrayLoop
{
public static void main(String args[])
{
double alpha[] = new double[50];
*//Initialize the first 25 elements of the array (int i=0; i<25; i++)//*
for(int i = 0; i < 25; i++)
{
alpha[i]= i * i;
}
*//Initialize the last 25 elements of the array (i=25; i<50; i++)//*
for(int i = 25; i < 50; i++)
{
alpha[i]= 3 * i;
}
*//Print the element of the array*
System.out.println ( "The values are: " );
for (int i = 0; i < 50; i++)
System.out.println ( alpha[i] );
}
*//Print method to display the element of the array*
void print(double m_array[])
{
for(int i = 1; i < m_array.length; i++)
{
if(i % 10 == 0){;
System.out.println();
}else{
System.out.print(" ");
}
}
if (m_array.length % 10 != 0) {
System.out.println();
}
}
}
答案 0 :(得分:0)
您的代码中有几个% 10
代码段,因此我完全确定&#34; s&#34;尝试没有模数的内容&#34; : - )
话虽如此,模数正好你需要的东西,按照下面的伪代码:
count = 0
for each item in list:
if count > 0 and (count % 10) == 0:
print end of line
print item
print end of line
在Java中,你会使用类似的东西:
public class Test {
static public void main(String args[]) {
for (int i = 0; i < 24; i++) {
if ((i > 0) &&((i % 10) == 0)) {
System.out.println();
}
System.out.print ("" + i * 3 + " ");
}
System.out.println();
}
}
换句话说,在您打印项目之前,请检查它是否应该在下一行,如果是,则在打印之前输出换行符。
请注意,Java中的数组基于零,因此您需要在循环中以零而不是一个索引开始。
现在你已经非常关闭了,所以你已经走上了正确的轨道但是,在我的生命中,我看不到你的print()
实际打印项目的方法!这应该是您要查看的事项列表中的第一位: - )
我敦促你尝试从上面的文字和样本中解决它,但是,如果你在超过半小时左右后仍然遇到麻烦,下面的代码显示了如何我做到了。
public class Test {
static void print (double m_array[]) {
for (int i = 0; i < m_array.length; i++) {
if ((i > 0) && ((i % 10) == 0))
System.out.println();
System.out.print (m_array[i] + " ");
}
System.out.println();
}
static public void main(String args[]) {
double[] x = new double[15];
for (int i = 0; i < x.length; i++)
x[i] = i * 3;
print (x);
}
}
答案 1 :(得分:0)
您必须首先打印该号码,然后通过检查模数决定是否打印空格或换行符:
int arr[] = new int[50];
// Initialize array here
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i > 0 && (i + 1) % 10 == 0) {
System.out.println();
} else {
System.out.print(" ");
}
}
答案 2 :(得分:0)
public class ArrayLoop {
public static void main(String args[]) {
double alpha[] = new double[50];
for (int i = 0; i < 25; i++) {
alpha[i] = i * i;
}
for (int i = 25; i < 50; i++) {
alpha[i] = 3 * i;
}
System.out.println("The values are: ");
for (int i = 0; i < 50; i++) {
System.out.print(alpha[i] + " ");
}
System.out.println();
System.out.println();
for (int i = 1; i < alpha.length; i++) {
if (i != 1 && i % 10 == 0) {
System.out.print(alpha[i - 1] + " ");
System.out.println();
} else {
System.out.print(alpha[i - 1] + " ");
}
}
System.out.print(alpha[49]);
}
}
编辑:更好的条件是......
for (int i = 0; i < alpha.length; i++) {
if (i > 0 && i % 10 == 9) {
System.out.print(alpha[i] + " ");
System.out.println();
} else {
System.out.print(alpha[i] + " ");
}
}