如何在代码中使用多种方法?首先,它询问数组的大小,然后询问元素的数目。一种方法是使用特殊规则对数字进行舍入。 第二种方法是修改数组的void方法。第三种方法是使用修改后的值制作一个新数组,然后返回该数组。
package tombtombbekerekit;
导入java.util.Scanner;
公共类TombTombbeKerekit { public static int round(int osszeg) { int last_Digit = osszeg%10; 如果(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]);
}
}
答案 0 :(得分:1)
您应该编写自己的函数。只要找到四舍五入的规则。您可以使用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 = 3
和int UPPER_BOUND = 7
而不是使用'3'和'7',您还可以使用函数(例如roundUp,roundToFive ..)包装丑陋的表达式。 #Magic_Numbers_Are_Bad