Java 水平打印循环输出?

Java 水平打印循环输出?,java,for-loop,Java,For Loop,嘿,伙计们,我必须为课堂写一个程序,让我根据一个销售员一个月卖出的汽车数量生成一个条形图。例如: Pam XXXX Leo XXXXXX 我快到了,但还不完全到。从现在起,我可以在销售人员姓名旁边得到一个X,但其他任何X都在下面单独的行上打印出来 Pam X X X 如果你能帮我把其他的X也接到同一条线上,我会非常感激的。谢谢你的意见 import java.util.Scanner; public class BarGraph { public static int Pa

嘿,伙计们,我必须为课堂写一个程序,让我根据一个销售员一个月卖出的汽车数量生成一个条形图。例如:

Pam XXXX

Leo XXXXXX
我快到了,但还不完全到。从现在起,我可以在销售人员姓名旁边得到一个X,但其他任何X都在下面单独的行上打印出来

Pam X 

X


X
如果你能帮我把其他的X也接到同一条线上,我会非常感激的。谢谢你的意见

import java.util.Scanner;
public class BarGraph
{
    public static int Pam = 0;
    public static int Leo = 0;
    public static int Kim = 0;
    public static int Bob = 0;

    public static Scanner kb = new Scanner(System.in);

    public static void main(String args[])
    {
        System.out.println("Enter number of cars sold by Pam ");
        Pam = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Leo ");
        Leo = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Kim ");
        Kim = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Bob ");
        Bob = kb.nextInt();
        kb.nextLine();

        System.out.print("Pam "); pamsCars();
        System.out.print("Leo "); leosCars();
        System.out.print("Kim "); kimsCars();
        System.out.print("Bob "); bobsCars();
    }

    public static void leosCars()
    {
        for(int i=0; i < Leo; i++)
        {
            printX();
        }
    }

    public static void kimsCars()
    {
        for(int i=0; i < Kim; i++)
        {
            printX();
        }
    }

    public static void pamsCars()
    {
        for(int i=0; i < Pam; i++)
        {
            printX();
        }
    }

    public static void bobsCars()
    {
        for(int i=0; i < Bob; i++)
        {
            printX();
        }
    }

    public static void printX()
    {
        System.out.println("X");
    }
}
import java.util.Scanner;
公共类条形图
{
公共静态int Pam=0;
公共静态int Leo=0;
公共静态int Kim=0;
公共静态int-Bob=0;
公共静态扫描仪kb=新扫描仪(System.in);
公共静态void main(字符串参数[])
{
System.out.println(“输入Pam销售的汽车数量”);
Pam=kb.nextInt();
kb.nextLine();
System.out.println(“输入Leo售出的汽车数量”);
Leo=kb.nextInt();
kb.nextLine();
System.out.println(“输入Kim售出的汽车数量”);
Kim=kb.nextInt();
kb.nextLine();
System.out.println(“输入Bob售出的汽车数量”);
Bob=kb.nextInt();
kb.nextLine();
System.out.print(“Pam”);pamsCars();
系统输出打印(“Leo”);leosCars();
系统输出打印(“Kim”);kimsCars();
System.out.print(“Bob”);bobsCars();
}
公共静态空间(OSCARS)
{
for(int i=0;i
在printX函数中使用
print
而不是
println


由于println打印并添加换行符(换行符)

您使用的是
System.out.println(“X”)这会自动在字符串末尾追加换行符

而是使用
System.out.print(“X”)
将X相邻打印。

进行以下更改:

 System.out.print("Pam "); pamsCars();System.out.println("");

正如其他人所说,“println()”方法在行尾添加了一个“\n”。

将printX()方法更改为不打印换行符,并将printCar()签名更改为接受要打印的X的名称和编号

public static void printX()
{
    System.out.print("X");
}

public static void printCars(String name, int num)
{
    System.out.print(name);
    for(int i=0; i < num; i++)
    {
        printX();
    }
    System.out.println();
}
你就不能用一个

System.out.printf("%s",x); 
还有吗

我自己并没有尝试过这个循环,但我很确定这两个循环中的一个也是一个选择。。。只要使用printf和%n,则%n将给出与println相同的结果。。。使用println时,其转义序列与\n相同

我一个月前在课堂上才知道,所以我想我应该分享一下我的基本知识。。。下周期中考试,所以我有编程热。

下面的内容怎么样(很抱歉,没有测试,所以原则上只测试,更多的是作为循环的替代品)

当然,一个缺陷是用户可以输入10个以上

还有,如果用户输入10000呢?(您是否真的要打印10000 X)。也许该考虑一下

import java.util.Scanner;
public class BarGraph
{
    public static int Pam = 0;
    public static int Leo = 0;
    public static int Kim = 0;
    public static int Bob = 0;

    public static Scanner kb = new Scanner(System.in);

    //Assume max sales of 10
    public static final String maxsales = "XXXXXXXXXX"; //+++++NEW

    public static void main(String args[])
    {
        System.out.println("Enter number of cars sold by Pam ");
        Pam = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Leo ");
        Leo = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Kim ");
        Kim = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Bob ");
        Bob = kb.nextInt();
        kb.nextLine();

        printCars("Pam",pam);  //+++++NEW
        printCars("Leo",leo);  //+++++NEW
        printCars("Kim",kim);  //+++++NEW
        printcars("Bob",bob);  //+++++NEW

    }

    //+++++NEW All other methods/functions replaced by this one
    public static void printCars(String person, int sales) {
        system.out.println(person + " " + maxsales.substr(sales));
    }
}
int n=20;

对于(int i=0;i提示:
System.out.println
打印一些字符,后跟\n(换行符)。
printCars("Pam ",Pam));
printCars("Bob ",Bob));
System.out.printf("%s",x); 
System.out.printf("%n%s",x);
import java.util.Scanner;
public class BarGraph
{
    public static int Pam = 0;
    public static int Leo = 0;
    public static int Kim = 0;
    public static int Bob = 0;

    public static Scanner kb = new Scanner(System.in);

    //Assume max sales of 10
    public static final String maxsales = "XXXXXXXXXX"; //+++++NEW

    public static void main(String args[])
    {
        System.out.println("Enter number of cars sold by Pam ");
        Pam = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Leo ");
        Leo = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Kim ");
        Kim = kb.nextInt();
        kb.nextLine();
        System.out.println("Enter number of cars sold by Bob ");
        Bob = kb.nextInt();
        kb.nextLine();

        printCars("Pam",pam);  //+++++NEW
        printCars("Leo",leo);  //+++++NEW
        printCars("Kim",kim);  //+++++NEW
        printcars("Bob",bob);  //+++++NEW

    }

    //+++++NEW All other methods/functions replaced by this one
    public static void printCars(String person, int sales) {
        system.out.println(person + " " + maxsales.substr(sales));
    }
}
int n = 20;
for(int i = 0; i <= n; i++) {
    System.out.print(" " + i);
}