这是我的代码:
import java.util.Scanner;
public class LabProgram {
public static double drivingCost(double drivenMiles, double dollarsPerGallon, double milesPerGallon)
{ double totalCost = 0;
totalCost = (drivenMiles / milesPerGallon) * dollarsPerGallon ;
System.out.printf("%.2f", totalCost);
System.out.print(" ");
return totalCost;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double milesPGallon;
double dollarsPGallon;
double driveMiles;
double drivingCost;
milesPGallon = input.nextDouble();
dollarsPGallon = input.nextDouble();
input.close();
drivingCost(10, dollarsPGallon, milesPGallon);
drivingCost(50, dollarsPGallon, milesPGallon);
drivingCost(400, dollarsPGallon, milesPGallon);
System.out.print("\r");
}
}
输出为:'1.58 7.90 63.20',我需要的是'1.58 7.90 63.20'。如何删除输出中的尾随空格?我试图使用trim()和replace()都没有帮助。我是Java的新手,在过去的一天半里,我一直都在想办法解决这个问题。任何帮助都将受到赞赏,即使它只是朝着正确方向前进。先感谢您。
[drivingCost
每次调用时都打印一个空格:
public static double drivingCost(double drivenMiles, double dollarsPerGallon, double milesPerGallon)
{
double totalCost = 0;
totalCost = (drivenMiles / milesPerGallon) * dollarsPerGallon ;
System.out.printf("%.2f", totalCost);
System.out.print(" "); // <-------- here!
return totalCost;
}
您可以删除该行,而在之间调用drivingCost
时打印一个空格:
drivingCost(10, dollarsPGallon, milesPGallon);
System.out.print(" ");
drivingCost(50, dollarsPGallon, milesPGallon);
System.out.print(" ");
drivingCost(400, dollarsPGallon, milesPGallon);
或者,在drivingCost
中添加一个额外的参数:
public static double drivingCost(double drivenMiles, double dollarsPerGallon, double milesPerGallon, boolean isLastCall)
{
double totalCost = 0;
totalCost = (drivenMiles / milesPerGallon) * dollarsPerGallon ;
System.out.printf("%.2f", totalCost);
if (!isLastCall) {
System.out.print(" ");
}
return totalCost;
}
并这样称呼:
drivingCost(10, dollarsPGallon, milesPGallon, false);
drivingCost(50, dollarsPGallon, milesPGallon, false);
drivingCost(400, dollarsPGallon, milesPGallon, true);