假设我想从1到10打印出奇数,但每隔3个数字就会生成一个新行。如何控制java控制台中每行可以打印的项目数。
到目前为止我的代码
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int z,t;
System.out.println("Enter two numbers: ");
z = input.nextInt();
t = input.nextInt();
humbala(z,t);
}
public static void humbala ( int x, int y)
{
for(int a; x < y; x++)
{
if(x % 2 !=0 )
{
System.out.print(x+ " ");
for (int i=0; i<y; i++)
{
if(i > 3)
{
System.out.println();
}
i = 0;
}
}
}
}
}
我的for循环有点奇怪。我有一个计数器变量a但从未真正使用它,但无论如何它都在工作。问题是,如果我把x,我得到一个错误,说它是重复的 我在想,我应该做一个阵列。这样每个第3个索引,我都可以打印出一个新行 但我无法将其翻译为代码
答案 0 :(得分:0)
如果您只想打印所有数字并在每3个数字后打印一个新行,则不需要多个<div>
<label for="birthdate" th:text="#{editprofile.about4.birthdate}">Birth date</label>
<label class="input">
<i class="icon-append fa fa-calendar"></i>
<input type="date" name="date" id="birthdate" class="form-control margin-bottom-20" th:field="*{birthdate}" />
</label>
<h3 th:text="${#dates.format(profile2about2th.birthdate,'yyyy/MM/dd')}"></h3>
</div>
条件和if
循环中未使用的variable
,可以使用for
来完成,例如:
counter
答案 1 :(得分:0)
如果你使用Java8,你可以做同样的事情来打印同一行上的项目注意你可以使用ArrayList,但我不确定是否已经了解它们:
import java.util.Arrays;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter start number: ");
int start = input.nextInt();
System.out.print("Enter end number: ");
int end = input.nextInt();
humbala(start, end);
}
public static void humbala(int start, int end) {
int count = 0;
String[] numbersLine = new String[3];
for (int i = start; i <= end; i++) {
if(count != 0 && count % 3 == 0) {
System.out.println(String.join(" ", numbersLine));
Arrays.fill(numbersLine, ""); //for last line
}
numbersLine[count % 3] = String.valueOf(i);
count++;
}
System.out.println(String.join(" ", numbersLine)); //print any remaining numbers
}
}
使用示例:
Enter start number: 1
Enter end number: 10
1 2 3
4 5 6
7 8 9
10
试试here!