Java 数学方程模式
我正在创建一个模式,当用户输入行数时,它会打印一个带有特定数字模式的三角形。我很难想出一个数学方程来输出这个模式: 我已经写了一段代码,它可以正常工作,但不符合我想要创建的模式。有人能帮我吗 以下是我目前的代码:Java 数学方程模式,java,Java,我正在创建一个模式,当用户输入行数时,它会打印一个带有特定数字模式的三角形。我很难想出一个数学方程来输出这个模式: 我已经写了一段代码,它可以正常工作,但不符合我想要创建的模式。有人能帮我吗 以下是我目前的代码: import java.util.Scanner; public class trianglePattern { public static void main(String[] args) { Scanner input = new Scanner (S
import java.util.Scanner;
public class trianglePattern {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("How many rows?: ");
int rows = input.nextInt();
for(int i =0;i<rows;i++) {
System.out.format("%"+4*(rows-i+1)+"s","");
for(int j=i+1; j>1; j--)
System.out.format("%4d", j);
for(int j=1; j<=i+1; j++)
System.out.format("%4d", j);
System.out.println();
}
}
}
import java.util.Scanner;
公共类三角形模式{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
对于(int i=0;i1;j--)
系统输出格式(“%4d”,j);
对于(intj=1;j试试这个。间隔是基于几个因素
字段宽度之和。每个字段宽度保留为一个列表。它用于根据正在打印的行减少前导空间
每个列字段宽度的大小应为该列中的最大值。给定列的宽度也保留在列表中。由于宽度与中心列对称,因此左侧格式也用于打印右侧值
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
List fws=new ArrayList();
List fmts=new ArrayList();
函数fw=r->(int)(数学
.log10(1=0;r--){
系统输出打印(pad);
int v=1;
for(int c=r;c=1;
系统输出打印f(fmts.get(c),v);
}
System.out.println();
pad=pad.substring(r>0?fws.get(r-1):pad.length());
}
}
试试这个。间距基于几个因素
字段宽度之和。每个字段宽度保留为一个列表。它用于根据正在打印的行减少前导空间
每个列字段宽度的大小应为该列中的最大值。给定列的宽度也保留在列表中。由于宽度与中心列对称,因此左侧格式也用于打印右侧值
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
List fws=new ArrayList();
List fmts=new ArrayList();
函数fw=r->(int)(数学
.log10(1=0;r--){
系统输出打印(pad);
int v=1;
for(int c=r;c=1;
系统输出打印f(fmts.get(c),v);
}
System.out.println();
pad=pad.substring(r>0?fws.get(r-1):pad.length());
}
}
好问题
Scanner input = new Scanner(System.in);
System.out.println("How many rows?: ");
int rows = input.nextInt();
ArrayList<Integer> list = new ArrayList<>();
for(int i=0; i<rows; i++) {
list.add(i);
}
for(int i=rows-2; i>-1; i--) {
list.add(i);
}
// I print this here just for your help(delete it afterwards)
for (Integer integer : list) {
System.out.print(((int) Math.pow(2, integer)) + " ");
}
System.out.println("\n");
for(int i=rows; i>=1; i--) {
for (Integer integer : list) {
int number = ((int) Math.pow(2, integer-i+1));
if(number>=1) {
System.out.format("%d\t", ((int) Math.pow(2, integer-i+1)));
} else {
System.out.print(" ");
}
}
System.out.println("\n");
}
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
ArrayList=新建ArrayList();
对于(int i=0;i-1;i--){
列表.添加(i);
}
//我在这里打印这个只是为了你的帮助(以后删除)
用于(整数:列表){
System.out.print(((int)Math.pow(2,整数))+“”);
}
System.out.println(“\n”);
对于(int i=行;i>=1;i--){
用于(整数:列表){
整数=((int)Math.pow(2,整数-i+1));
如果(数字>=1){
System.out.format(“%d\t”,((int)Math.pow(2,integer-i+1));
}否则{
系统输出打印(“”);
}
}
System.out.println(“\n”);
}
(提示):在Arraylist列表中,我保存了计算问题最后一行所需的所有指数。好问题
Scanner input = new Scanner(System.in);
System.out.println("How many rows?: ");
int rows = input.nextInt();
ArrayList<Integer> list = new ArrayList<>();
for(int i=0; i<rows; i++) {
list.add(i);
}
for(int i=rows-2; i>-1; i--) {
list.add(i);
}
// I print this here just for your help(delete it afterwards)
for (Integer integer : list) {
System.out.print(((int) Math.pow(2, integer)) + " ");
}
System.out.println("\n");
for(int i=rows; i>=1; i--) {
for (Integer integer : list) {
int number = ((int) Math.pow(2, integer-i+1));
if(number>=1) {
System.out.format("%d\t", ((int) Math.pow(2, integer-i+1)));
} else {
System.out.print(" ");
}
}
System.out.println("\n");
}
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
ArrayList=新建ArrayList();
对于(int i=0;i-1;i--){
列表.添加(i);
}
//我在这里打印这个只是为了你的帮助(以后删除)
用于(整数:列表){
System.out.print(((int)Math.pow(2,整数))+“”);
}
System.out.println(“\n”);
对于(int i=行;i>=1;i--){
用于(整数:列表){
整数=((int)Math.pow(2,整数-i+1));
如果(数字>=1){
System.out.format(“%d\t”,((int)Math.pow(2,integer-i+1));
}否则{
系统输出打印(“”);
}
}
System.out.println(“\n”);
}
(提示):在Arraylist列表中,我保存了计算问题最后一行所需的所有指数。切换循环,添加幂函数,并稍微调整循环索引:
import java.util.Scanner;
public class trianglePattern {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("How many rows?: ");
int rows = input.nextInt();
for(int i = 0; i < rows; i++) {
System.out.format("%"+4*(rows-i+1)+"s","");
for(int j = 0; j <= i; j++)
System.out.format("%4d", (int) Math.pow(2,j));
for(int j = i - 1; j >= 0; j--)
System.out.format("%4d", (int) Math.pow(2,j));
System.out.println();
}
}
}
import java.util.Scanner;
公共类三角形模式{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
对于(int i=0;i
切换循环,添加幂函数,并稍微调整循环索引:
import java.util.Scanner;
public class trianglePattern {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("How many rows?: ");
int rows = input.nextInt();
for(int i = 0; i < rows; i++) {
System.out.format("%"+4*(rows-i+1)+"s","");
for(int j = 0; j <= i; j++)
System.out.format("%4d", (int) Math.pow(2,j));
for(int j = i - 1; j >= 0; j--)
System.out.format("%4d", (int) Math.pow(2,j));
System.out.println();
}
}
}
import java.util.Scanner;
公共类三角形模式{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少行?:”);
int rows=input.nextInt();
对于(int i=0;i
欢迎来到堆栈溢出。请学习如何使用堆栈溢出