繁体   English   中英

在Java中使用多种方法

[英]Use multiple methods in Java

如何在代码中使用多种方法? 首先,它询问数组的大小,然后询问元素的数目。 一种方法是使用特殊规则对数字进行舍入。 第二种方法是修改数组的void方法。 第三种方法是使用修改后的值制作一个新数组,然后返回该数组。

package tombtombbekerekit;

导入java.util.Scanner;

公共类TombTombbeKerekit {public static int round(int osszeg){int last_Digit = osszeg%10; if(last_Digit <3)返回osszeg-last_Digit; 否则if(last_Digit> 7)返回osszeg +(10-last_Digit); 否则返回osszeg-(last_Digit)+ 5; }

public static void roundSelf(int [] numbers)
{
    int[] array = numbers;
    for (int i = 0; i < array.length; i++)
    return;
}

public static int [] roundNew(int [] numbers)
{
    int [] newArray = new int[numbers.length];
    return newArray;
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Kérem az összegek számát: ");
    int size = sc.nextInt();
    System.out.println("Kérem az összegeket: ");
    int [] array = new int[size];
    for (int i = 0; i < array.length; i ++)
    {
        array[i] = sc.nextInt();
    }
    int [] kerek = roundNew(array);
    System.out.println("Kerekítve: ");
    for (int i = 0; i < kerek.length; i++)
        System.out.println(kerek[i]);
}

}

您应该编写自己的函数。 只要找到四舍五入的规则。 您可以使用n%10获得名为n的整数的最后一位。

我已经写了一些东西,但是还没有测试,我相信它应该可以工作。 看看这个:

public int weirdRounding(int n)
{
    int last_Digit = n % 10;
    if(last_Digit  < 3) 
        return n - last_Digit;
    else if(last_Digit > 7)
        return n + (10 - last_Digit);
    else // the last digit is 3,4,5,6,7
        return n - (last_Digit) + 5;
}

注意:如果要使用此代码,可能应该使该代码更具可读性。 例如,定义int LOWER_BOUND = 3int UPPER_BOUND = 7而不是使用'3'和'7',还可以使用函数包装丑陋的表达式(例如roundUp,roundToFive ..)。 #Magic_Numbers_Are_Bad

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM