Java 程序在从 main() 拉出的变量之间输出空格,这很好。不过我想删除尾随空格

标签 java methods double

这是我的代码:

    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 新手,在过去的一天半里我一直在用头撞墙试图解决这个问题。任何帮助将不胜感激,即使它只是朝着正确方向插入。先感谢您。

最佳答案

driveCost 每次调用时都会打印一个空格:

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

您可以删除该行,并在对 driveCost 的调用之间打印一个空格:

drivingCost(10, dollarsPGallon, milesPGallon);
System.out.print(" ");
drivingCost(50, dollarsPGallon, milesPGallon);
System.out.print(" ");
drivingCost(400, dollarsPGallon, milesPGallon);

或者,向 driveCost 添加一个额外参数:

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

关于Java 程序在从 main() 拉出的变量之间输出空格,这很好。不过我想删除尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58783598/

相关文章:

java - 查找树的最大宽度的算法,不使用节点结构

ruby - 是否有 ruby​​ 方法可以在其他字符串之间选择字符串?

java - 请求用户输入的类方法

iphone - 如何在 iOS 上以全精度打印 double ?

java - FutureTask 中的awaitDone 抛出InterruptedException

java - 如何根据我单击的按钮更改 div 的颜色? (仅 javascript/css/html 无库)

Java FTPClient 不传输整个文件

javascript - 调用mootools类中的方法

c++ - 再次 double 四舍五入

c++ - 如何在 C++ 中以字符串形式递增数字?