【问题标题】:Can someone help me figure out why i cant call my method?有人可以帮我弄清楚为什么我不能调用我的方法吗?
【发布时间】:2014-10-30 10:43:48
【问题描述】:

我不知道为什么我不能调用我的方法。我检查了几次并尝试运行它,但它总是在我输入物有所值后立即结束。它应该返回给定金额的零钱,使用一百、五十、二十、十、五、单、四分之一、一角、镍和便士。因此,如果它是 42.55 美元,则输出将是“0 0 2 0 0 2 2 0 1 0”(两个 20,两个单身,两个四分之一,一个镍)。提前谢谢!

import java.util.Scanner;
public class MakeChange {
    public static void main(String arg[]) {
    Scanner readmoney = new Scanner(System.in);

    System.out.println("Money amount? >");
    double money = readmoney.nextDouble();
    System.out.println();

    String thing = makeChange(money);
}

public static String makeChange(double money) {

    int hundreds = (int) money/100;

    int fifties = (int)(money/50) - (2*hundreds);

    int twenties = (int) (money/20) - (5*hundreds) - (int)(2.5*fifties);

    int tens = (int)(money/10) - (10*hundreds) - (5*fifties) - (2*twenties);

    int fives = (int)(money/5) - (20*hundreds) - (10*fifties) - (4*twenties) - (2*tens);

    int singles = (int)(money) - (100*hundreds) - (50*fifties) - (20*twenties) - (10*tens) - (5*fives);

    int quarters = (int)(money/0.25) - (400*hundreds) - (200*fifties) - (80*twenties) - (40*tens) - (20*fives) - (4*singles);

    int dimes = (int)(money/0.1) - (1000*hundreds) - (500*fifties) - (200*twenties) - (100*tens) - (50*fives) - (10*singles) - (int)(2.5*quarters);

    int nickels = (int)(money/0.05) - (2000*hundreds) - (1000*fifties) - (400*twenties) - (200*tens) - (100*fives) - (20*singles) - (5*quarters) - (2*dimes);

    int pennies = (int)(money/0.01) - (10000*hundreds) - (5000*fifties) - (2000*twenties) - (1000*tens) - (500*fives) - (100*singles) - (25*quarters) - (10*dimes) - (5*nickels);

    String change = (hundreds + " " + fifties + " " + twenties + " " + tens + " " + fives + " " + singles + " " + quarters + " " + dimes + " " + nickels + " " + pennies);

    return change;

} }

【问题讨论】:

  • 你想用thing做什么?也许您想System.out.println(thing) 将其打印到控制台?
  • 看起来它完全按照你的吩咐去做......

标签: java methods


【解决方案1】:
 String thing = makeChange(money);
}
// end of program

你没有打印你的结果。

方法被调用(并且不会因异常而崩溃)。

【讨论】:

    【解决方案2】:

    方法被成功调用。它返回一个结果,将其存储在变量中,然后程序结束。您需要将返回值实际打印到控制台以显示某些内容。

    public static void main(String arg[]) {
        Scanner readmoney = new Scanner(System.in);
    
        System.out.println("Money amount? >");
        double money = readmoney.nextDouble();
        System.out.println();
    
        String thing = makeChange(money);
        System.out.println(thing);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-28
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      相关资源
      最近更新 更多