Попытка отформатировать таблицу в JAVA с использованием PrintF - PullRequest
0 голосов
/ 24 октября 2018

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

Провинция Класс:

public class Provinces {

private String province;
private String rateType;
private double provincialRate;
private double canadaRate;

public Provinces() {

}

public Provinces(String province, String rateType, double provincialRate, double canadaRate) {
    this.province = province;
    this.rateType = rateType;
    this.provincialRate = provincialRate;
    this.canadaRate = canadaRate;

}

public String getProvince() {
    return province;
}

public void setProvince(String province) {
    this.province = province;
}

public String getRateType() {
    return rateType;
}

public void setRateType(String rateType) {
    this.rateType = rateType;
}

public double getProvincialRate() {
    return provincialRate;
}

public void setProvincialRate(double provincialRate) {
    this.provincialRate = provincialRate;
}

public double getCanadaRate() {
    return canadaRate;
}

public void setCanadaRate(double canadaRate) {
    this.canadaRate = canadaRate;
}

public double calculateTotal() {
    double total = 0.0;
    total = provincialRate + canadaRate;
    return total;
}



}

Налоги2018 Класс:

import java.util.ArrayList;
import java.util.List;

public class Taxes2018 {

public static void main(String[] args) {

    List<Provinces> provinces = new ArrayList<Provinces>();

        provinces.add(new Provinces("Alberta","GST",0.0,5.0));
        provinces.add(new Provinces("British Columbia","GST+PST",7.0,5.0));
        provinces.add(new Provinces("Manitoba","GST+PST",8.0,5.0));     
        provinces.add(new Provinces("New Brunswick","HST",10.0,5.0));
        provinces.add(new Provinces("Newfoundland and Labrador","HST",10.0,5.0));
        provinces.add(new Provinces("Northwest Territories","GST",0.0,5.0));
        provinces.add(new Provinces("Nova Scotia","HST",10.0,5.0));
        provinces.add(new Provinces("Nunavut","GST",0.0,5.0));  
        provinces.add(new Provinces("Ontario","HST",8.0,5.0));          
        provinces.add(new Provinces("Prince Edward Island","HST",10.0,5.0));
        provinces.add(new Provinces("Quebec","GST+QST",9.975,5.0));
        provinces.add(new Provinces("Saskatchewan","GST+PST",6.0,5.0));
        provinces.add(new Provinces("Yukon","GST",0.0,5.0));



    System.out.println("==============================================================================================");           
    System.out.printf("%5s%18s%23s%21s%14s\n%38s\n", "Canada's Province", "Rate Type", "Provincial Rate","Canada Rate", "Total","(HST, GST, PST)");
    System.out.println("----------------------------------------------------------------------------------------------");           

    for (Provinces Provinces: provinces) {

        System.out.printf("%-15s%18s%15.2f%.2f%.2f\n", Provinces.getProvince(), Provinces.getRateType(), Provinces.getProvincialRate(), Provinces.getCanadaRate(), Provinces.calculateTotal());

    }


}

}

ЖелаемыйВыход

1 Ответ

0 голосов
/ 24 октября 2018

Хорошо, я возился с вашим форматом, я решил создать свой собственный формат с нуля, так что вот он

%-30s%-18s%-23s%-15s%s

и в коде

System.out.printf("%-30s%-18s%-23s%-15s%s\n", Provinces.getProvince(), Provinces.getRateType(), Provinces.getProvincialRate(), Provinces.getCanadaRate(), Provinces.calculateTotal());

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...