java中的偶数三角形
我怎么能用偶数和空格做同样的三角形呢?。我如何能够不受任何限制地生成偶数,并适应用户输入的行数(用户只输入行数,但不限制生成偶数或奇数) 我想要什么,但他怎么能做到java中的偶数三角形,java,Java,我怎么能用偶数和空格做同样的三角形呢?。我如何能够不受任何限制地生成偶数,并适应用户输入的行数(用户只输入行数,但不限制生成偶数或奇数) 我想要什么,但他怎么能做到 2 4 6 8 10 12 14 16 18 20 若我理解正确,这很容易,但在数字5之后,数字将相互传递,所以若你们想避免这种情况,你们必须为你们打印的每个数字使用2或3个空格。主三角形可以通过以下方式创建: public static void main(String[] args) { Scan
2
4 6
8 10 12
14 16 18 20
若我理解正确,这很容易,但在数字5之后,数字将相互传递,所以若你们想避免这种情况,你们必须为你们打印的每个数字使用2或3个空格。主三角形可以通过以下方式创建:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int row = in.nextInt();
int allSpace = 2 * row - 1;
for (int i = 1; i <= row; i++) {
int allNumber = 2 * i - 1;
for (int j = 0; j < (allSpace - allNumber) / 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= allNumber ; j++) {
System.out.printf("%3d", j);
}
for (int j = allNumber - 1; j >= i ; j--) {
System.out.printf("%3d", j);
}
System.out.println();
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int row=in.nextInt();
int allSpace=2*行-1;
对于(inti=1;i,这有点棘手,因为数字的数量会稍微影响对齐
这将有助于:
int num = 5;
int cont = 0;
for (int i = 1; i <= num; i++) {
for(int k = 1; k <= num -i; k++) System.out.print(" ");
for(int j = 1; j <= i; j++) {
cont += 2;
System.out.print(cont + " ");
}
System.out.println ("");
}
int num=5;
int cont=0;
对于(inti=1;i这将得到您想要的结果
int rows = 500;
//Calculating the largest number we will reach:
int largest = 1;
for(int i=1;i<=rows;i++){
largest=largest + i;
}
largest=largest*2;//since we only count even numbers
int cur = 2; //current value to add to the triangle
int rowsize = 0; //how many values to fit inside the row
for (int i = 1; i <= rows; i ++) {
int cursize = 0; //ammount of values currently in the row
//filling spaces on left side
//The value is based on how many rows we want, more rows = need for more initial spacing
String spaces = "";
for(int j = 0 ; j < (rows + "").length() ; j++) {
spaces += " ";
}
for (int j = 0; j <= rows - i ; j++) {
System.out.print(spaces);
}
while(cursize <= rowsize) {
//For each number, we calculate how much spacing to place before it
int len = (largest + "").length() - (cur + "").length();
spaces = "";
while(len != 0) {
spaces += " ";
len--;
}
System.out.print(" " + spaces + cur);
cur += 2;
cursize++;
}
System.out.println (""); //new line
rowsize++;
}
}
int行=500;
//计算我们将达到的最大数量:
int最大=1;
对于(int i=1;iint number=2;
对于(int row=1;row),它表示必须在每行中打印多少值
数字-->它是将要打印的实际值
您是否尝试过自己解决这个问题?
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int row = in.nextInt();
int allSpace = 2 * row - 1;
int even = 2;
for (int i = 1; i <= row; i++) {
int allNumber = 2 * i - 1;
for (int j = 0; j < (allSpace - allNumber) / 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= allNumber ; j++) {
System.out.printf("%3d", even);
even += 2;
}
System.out.println();
}
}
int num = 5;
int cont = 0;
for (int i = 1; i <= num; i++) {
for(int k = 1; k <= num -i; k++) System.out.print(" ");
for(int j = 1; j <= i; j++) {
cont += 2;
System.out.print(cont + " ");
}
System.out.println ("");
}
int rows = 500;
//Calculating the largest number we will reach:
int largest = 1;
for(int i=1;i<=rows;i++){
largest=largest + i;
}
largest=largest*2;//since we only count even numbers
int cur = 2; //current value to add to the triangle
int rowsize = 0; //how many values to fit inside the row
for (int i = 1; i <= rows; i ++) {
int cursize = 0; //ammount of values currently in the row
//filling spaces on left side
//The value is based on how many rows we want, more rows = need for more initial spacing
String spaces = "";
for(int j = 0 ; j < (rows + "").length() ; j++) {
spaces += " ";
}
for (int j = 0; j <= rows - i ; j++) {
System.out.print(spaces);
}
while(cursize <= rowsize) {
//For each number, we calculate how much spacing to place before it
int len = (largest + "").length() - (cur + "").length();
spaces = "";
while(len != 0) {
spaces += " ";
len--;
}
System.out.print(" " + spaces + cur);
cur += 2;
cursize++;
}
System.out.println (""); //new line
rowsize++;
}
}
int number=2;
for(int row=1;row<=4;row++) {
for(int space=1;space<=(4-row);space++) {
System.out.print(" ");
}
for(int noOfValue=1;noOfValue<=row;noOfValue++) {
System.out.print(number+" ");
number=number+2;
}
System.out.println();
}