Выход контура печати горизонтально?

Эй, ребята, я должен написать программу для класса, которая просит меня создать гистограмму, основанную на том, сколько автомобилей продавал продавец за месяц. Примером может служить следующее:

Pam XXXX

Leo XXXXXX prettyprinted ">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");
    }
}

Если вы можете помочь мне получить эти другие X в одной строке, я бы очень признателен. Спасибо за ваш вклад!

System.out.println("X");

java,for-loop,

1

Ответов: 8


4

Вы используете. System.out.print("X");Это автоматически добавляет символ новой строки в конец строки.

Вместо этого используйте для печати X рядом друг с другом.System.out.printf("%s",x);


1

Вы не могли бы использовать

System.out.printf("%n%s",x);

также?

или же

print

я сам не пробовал цикл, но я уверен, что один из двух тоже будет альтернативой ...% n даст вам тот же результат, что и println, пока вы идете с printf и% n ... его та же escape-последовательность, что и n, когда вы используете println.

я только что узнал, что месяц назад в классе, поэтому я решил, что буду делиться базовыми знаниями, которые у меня есть ... среднесрочные сроки на следующей неделе, поэтому у меня есть лихорадка программирования.


0

используйте printвместо println функции printX.

поскольку println печатает и добавляет break (newline)


0
public static void printX()
    {
        System.out.println("X");  // println() puts newline character.. use print()
    }

0

Измените свой метод 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();
}

Теперь вы можете называть их как

printCars("Pam ",Pam));
printCars("Bob ",Bob));
Java, для цикла,
Похожие вопросы