【问题标题】:Increase percentage by user input in Java通过 Java 中的用户输入增加百分比
【发布时间】:2015-10-05 03:37:06
【问题描述】:

如果用户输入高于 100,则每单位增加 5%,即 100 或减去返回 5%,101 返回 10%,102 返回 15%,依此类推。

到目前为止,我能够做到这一点:

public class CalculatePercent {
    private  int numberGiven;
    private int finalPerc;

    public String numberGiven(int numberGiven) {
        this.numberGiven = numberGiven;

        if(numberGiven == 100) {
            finalPerc=5;
            return "The percentage" + " " + "is:" + " " + finalPerc + "%";
        }
        else if (finalPerc > 100 ) {

        }
        return finalPerc;
    }
}

还有这个:

import java.util.Scanner;

public class CalculatorApp {


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
            CalculatePercent p = new CalculatePercent(); 

        System.out.println("Type the number: ");
        String usernumber = p.numberGiven(in.nextInt());
        System.out.println(usernumber);
    }

}

【问题讨论】:

  • String numberGiven() 方法具有 String 返回类型,但您返回 finalPerc int 变量。要么使 String 返回类型为 int,要么使用类型转换,如 return String.valueOf(finalPerc);
  • 是的,我会做演员谢谢。
  • 如果数字
  • if(numberGiven
  • 我已根据您的回答要求修改。

标签: java methods java.util.scanner


【解决方案1】:
public class CalculatePercent {

    private int numberGiven;
    private int finalPerc;

    public String numberGiven(int numberGiven) {
        this.numberGiven = numberGiven;
        if (this.numberGiven <= 100) {
            finalPerc = 5;
        } else if (this.numberGiven > 100) {
            finalPerc = 5 * (this.numberGiven - 99);
            /*
                Why 99 ?
                For examaple :
                100 - 99 = 1 * 5 = 5%;
                101 - 99 = 2 * 5 = 10%;
                102 - 99 = 3 * 5 = 15%
                soon
            */
        }
        return "The percentage" + " " + "is:" + " " + finalPerc + "%";
    }
}

【讨论】:

    【解决方案2】:

    我想你想要类似的东西 返回 (numberGiven-99)*5

    【讨论】:

    • 为什么是负 99? numberGiven 可以是任意数字。
    • if (numberGiven &gt;= 100) return (numberGiven-99 )*5; 怎么样,它会返回您在问题中请求的结果。
    【解决方案3】:

    我认为您正在寻找的是以下方法。我不确定您是如何组织课程的,但第一个问题是您的 numberGiven 方法没有返回字符串。第二个问题是这里有一些“神奇的数字”,即 365。我认为你正在寻找的是更像这样的东西

    public String numberGiven(int numberGiven) {
        int finalPerc = 5;
        if (numberGiven > 100) {
            finalPerc += (numberGiven - 100)*5;
        }
    
        return "The percentage" + " " + "is:" + " " + finalPerc + "%";
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 2012-11-26
      相关资源
      最近更新 更多