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);
}