Я сейчас пытаюсь отформатировать вывод для создания таблицы, как показано ниже.Проблема, с которой я сталкиваюсь, заключается в том, что я не могу отформатировать столбцы таким образом, чтобы они все соответствовали друг другу, поскольку первый столбец строк - это разные символы.Я не могу понять это, поэтому ваша помощь очень ценится.
Провинция Класс:
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());
}
}
}
ЖелаемыйВыход