java - java中如何获取最大值?

标签 java for-loop max

我正在编写一个程序,根据一个人的收入查找税收。到目前为止,我遇到的问题是一些数字没有四舍五入到小数点后两位,并且继续下去,我不知道如何从所有数字中获得最大值。

这是我必须做的:

不超过 750 美元收入的 1%

$750-$2500 $7.5 加上超过 $750 金额的 2%

$2500-$5000 $82.5 加 2500 美元以上金额的 4%

$5000-$8000 $142.50 加上超过 $5000 金额的 5%

超过 8000 美元 $230.00 加 8000 美元以上金额的%6

编写一个名为 IncomeTax.java 的程序。

  1. 生成(1-15)范围内的随机人数;

  2. 要求用户输入每个人的应税收入金额,然后

显示应缴税款;

  • 在屏幕上显示税金的最大值。
  • 这是我的代码:

    Scanner console=new Scanner(System.in);
    
        double tax=0;
        double income=0;
        Random rand=new Random();
        int randomNumber=rand.nextInt(14)+1;
        for(int i=1;i<=randomNumber;i++){
            System.out.println("Person: "+i);
            System.out.println("Please enter income: ");
         double n=console.nextDouble();
    
    
            if(n<750){
                 n=n*.01;
                 System.out.println("Tax due: $"+n);
            }else if(n<2500){
            n=0+7.5+(n*.02);
            System.out.println("Tax due: $"+n);
        }else if(n<5000){
            n=0+82.5+(n*.04);
            System.out.println("Tax due: $"+n);
        }else if(n<8000){
            n=0+142.50+(n*.05);
            System.out.println("Tax due: $"+n);
        }else if(n>8000){
            n=0+230+(n*.06);
            System.out.println("Tax due: $"+n);
    
        }
    

    最佳答案

    您无需数组即可跟踪最大值。解决方案是将最大值初始化为0,然后对于每个数字,我们只保留前一个最大值和当前数字的最大值。算法如下:

    double max = 0;
    for(int i = 1; i <= randomNumber; i++) {
        double n = console.nextDouble();
        //your code that calculates n
        max = Math.max(max, n); //keeps track of the maximum value
        //... the rest of your code
    }
    

    Math.max(a, b)返回两个给定值中的最大值。

    关于java - java中如何获取最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30901207/

    相关文章:

    java - 在java中将PDF数据转换为excelsheet

    java - MultitenantConfiguration : No qualifying bean of type [javax. persistence.EntityManagerFactory] ​​已定义:预期有单个匹配 bean,但发现 2

    java - 如何从循环中的原始资源中读取多个文件?

    highcharts - Highchart 轴最大具有多个轴

    java - 关于多线程的一些具体问题

    java - 开始记录 Tomcat 的最简单快捷的方法是什么?

    java - 移至 for 循环内的上一条语句

    java - 为什么我不能在 for 循环条件中使用数学(减法)?

    mysql - 如何在mysql中执行查询以获得最大总和?

    R在不使用汇总或过滤器的情况下查找观察子集中的最大值