如何获得特定形状的数字模式(java)?
我想打印这样的数字图案 但是,我没有得到这个三角形的形状,我很困惑如何放置空格来得到这个形状--> 这是我到目前为止试过的代码如何获得特定形状的数字模式(java)?,java,numbers,Java,Numbers,我想打印这样的数字图案 但是,我没有得到这个三角形的形状,我很困惑如何放置空格来得到这个形状--> 这是我到目前为止试过的代码 public class Ch { public static void main(String[] args) { int r =Integer.parseInt(args[0]); for(int u=1;u<=r;u++) { for(int i=u;i>=1;i--)
public class Ch {
public static void main(String[] args) {
int r =Integer.parseInt(args[0]);
for(int u=1;u<=r;u++)
{
for(int i=u;i>=1;i--)
{
System.out.print(i);
}
for(int i=2;i<=u;i++)
{
System.out.print(i);
}
System.out.println();
}
}
}
谢谢只需在主循环中的其他两个步骤之前再添加一个步骤:
for (int i = u; i < r; i++)
{
System.out.print(" ");
}
for(int i=u;i
这将打印空格以弥补“丢失”的数字
关于Mateusz的评论,请看一下如何在数字上加空格,以便在超过9的情况下使数字同样宽:
static int padding;
public static void main(String[] args)
{
int r = Integer.parseInt(args[0]);
padding = Math.max(1, (int) Math.ceil(Math.log10(r)));
for (int u = 1; u <= r; u++)
{
for (int i = u; i < r; i++)
{
print(" ");
}
for (int i = u; i >= 1; i--)
{
print(i);
}
for (int i = 2; i <= u; i++)
{
print(i);
}
System.out.println();
}
}
private static void print(Object text)
{
System.out.print(String.format("%1$" + padding + "s", text));
}
静态int填充;
公共静态void main(字符串[]args)
{
int r=Integer.parseInt(args[0]);
padding=Math.max(1,(int)Math.ceil(Math.log10(r));
对于(int u=1;u=1;i--)
{
印刷品(一);
}
对于(int i=2;i
使用2表示循环
package com.stackoverflow;
导入java.util.Scanner;
公共阶层金字塔{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“输入金字塔限制值:”);
int limit=in.nextInt();
in.close();
对于(int i=0;i0)?极限-j:j-极限+2;
系统输出打印(温度);
}
}
System.out.println();
}
}
}
使用4表示循环
package com.stackoverflow;
导入java.util.Scanner;
公共阶层金字塔{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“输入金字塔限制值:”);
int limit=in.nextInt();
in.close();
对于(int i=0;i 对于(int j=0;j)当有20行时会发生什么?我的意思是第10行和更大的行应该显示什么数字?看起来很像一个家庭作业问题。。
for (int i = u; i < r; i++)
{
System.out.print(" ");
}
static int padding;
public static void main(String[] args)
{
int r = Integer.parseInt(args[0]);
padding = Math.max(1, (int) Math.ceil(Math.log10(r)));
for (int u = 1; u <= r; u++)
{
for (int i = u; i < r; i++)
{
print(" ");
}
for (int i = u; i >= 1; i--)
{
print(i);
}
for (int i = 2; i <= u; i++)
{
print(i);
}
System.out.println();
}
}
private static void print(Object text)
{
System.out.print(String.format("%1$" + padding + "s", text));
}
package com.stackoverflow;
import java.util.Scanner;
public class Pyramid {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter the pyramid limit value: ");
int limit = in.nextInt();
in.close();
for (int i = 0; i < limit; i++) {
for (int j = 0; j < limit + i; j++) {
if (j < limit -i-1)
System.out.print(" ");
else{
int temp = (limit-j > 0) ? limit-j : j-limit+2;
System.out.print(temp);
}
}
System.out.println();
}
}
package com.stackoverflow;
import java.util.Scanner;
public class Pyramid {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter the pyramid limit value: ");
int limit = in.nextInt();
in.close();
for (int i = 0; i < limit; i++) {
for(int j=0; j<limit-i; j++){
System.out.print(" ");
}
for(int j=0; j<=i; j++){
System.out.print(i-j+1);
}
for(int j=i; j>0; j--){
System.out.print(i-j+2);
}
System.out.println();
}
}
}