Java 使用循环计数器使用2个变量打印出图案

Java 使用循环计数器使用2个变量打印出图案,java,loops,counter,Java,Loops,Counter,基本上,我正在尝试制作一个程序来接受1到10之间的整数和一个字母字符。然后根据该值作为最大宽度输出适当的图案 例如,用户输入5的整数和程序打印出的字母X: x xx xxx xxxx xxxxx 我似乎无法让它打印出任何内容,以下是我到目前为止得到的。。任何提示都非常感谢 import java.util.*; public class pattern { public static void main(String[] args) { int New1 = 1, L

基本上,我正在尝试制作一个程序来接受1到10之间的整数和一个字母字符。然后根据该值作为最大宽度输出适当的图案

例如,用户输入5的整数和程序打印出的字母X:

x

xx

xxx

xxxx

xxxxx

我似乎无法让它打印出任何内容,以下是我到目前为止得到的。。任何提示都非常感谢

import java.util.*;

public class pattern {

    public static void main(String[] args) {
        int New1 = 1, Linecounter = 1;



        Scanner sc = new Scanner(System.in);
        int Number = sc.nextInt();

        if (Number >= 1 &&  Number <= 10) {
            Number = New1;
        }
            else{
            System.out.println("Error: Enter a number between 1 and 10");
        }

        Scanner keyboard = new Scanner(System.in);
        char letter = keyboard.next().charAt(0);

        for (New1 = 1; New1 <= 10; New1++) {
            for (letter = (char) Linecounter; letter <= 10; letter++) {
                System.out.print("" +letter+ ""); 
            }
            System.out.println();

        }}}
import java.util.*;
公共阶级模式{
公共静态void main(字符串[]args){
int New1=1,Linecounter=1;
扫描仪sc=新的扫描仪(System.in);
int Number=sc.nextInt();

如果(Number>=1&&Number是这样的东西,您正在搜索吗

int x = 5;
char letter = 'x';

for (int i = 0; i <= x; i++)
{
    for (int j = 0; j < i; j++)
    {
        System.out.print(letter);
    }

    System.out.println();
}
首先:

if (Number >= 1 &&  Number <= 10) {
            Number = New1;
        }

if(Number>=1&&Number这看起来像是家庭作业,所以我只给您带来伪代码。这个想法是这样做的:

for (int i = 1; i <= Number; i++) { //1 through Number
   for (int j = 1; j <= i; j++) {
      System.out.print(letter); //Print letter i times
   }
   System.out.print("\n"); //New line
}
for i in 1..x do
    for j in 1..i do
        print ('*')
    end
    println (''
end
(事实上,如果更改
put
println
,这将成为一个有效的Ruby脚本)

无论如何,这里的关键是:你需要的星号与用户输入的行数一样多。只要你在内部循环中打印星号而不打印换行符,并在外部循环中调用
println
,你就可以走了。 同样重要的是,在外循环中迭代到所需的值,但只迭代到内循环中的
New1
变量。

尝试以下操作:

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    System.out.print("Integer: ");
    int userInt = scan.nextInt();
    System.out.print("Letter: ");
    String userLetter = scan.next();
    String letter = "";

    for (int i = 0; i <= userInt; i++) {
        System.out.println(letter);
        letter += userLetter;
    }
}
publicstaticvoidmain(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
系统输出打印(“整数:”);
int userInt=scan.nextInt();
系统输出打印(“字母:”);
字符串userLetter=scan.next();
字符串字母=”;

对于(inti=0;我是你的家庭作业吗?你想做的是类似于for(inti=0;iintinputnumber()
void printXs(int有多少个)
,您的生活会突然变得更轻松。此外,请重命名
New1
,使其含义从名称中清晰可见;同上。是的,与此类似,但用户必须能够输入所需的整数(介于1和10之间)他们想用哪个字母。@JohnnyC你真的想要一个完整的例子吗?你可以简单地将你的原始代码与此混合,它会给你想要的结果。
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    System.out.print("Integer: ");
    int userInt = scan.nextInt();
    System.out.print("Letter: ");
    String userLetter = scan.next();
    String letter = "";

    for (int i = 0; i <= userInt; i++) {
        System.out.println(letter);
        letter += userLetter;
    }
}