[英]Write a method called AddUp100 which takes in one value (an integer) and returns the sum of the next 100 numbers (int)
[英]Write a method called isOdd() in a class called OddTest, which takes an int as an argument and returns true if the int is odd
我上Java的第一年,在使用布爾方法測試偶數或奇數時遇到麻煩。 我擁有大部分代碼,但是當我輸入奇數時,它將返回偶數。 我的教授給了我們方法的簽名: public static boolean isOdd(int number)
package homeWork1;
import java.util.Scanner;
public class OddTest {
public static void main(String args[])
{
int number;
System.out.println("Enter an integer to check if it is odd or even: ");
Scanner input = new Scanner(System.in);
number = input.nextInt();
isOdd(number);
boolean answer=isOdd(number);
if (answer=true)
{
System.out.println("EVEN");
}
if (answer=false)
{
System.out.println("ODD");
}
}
public static boolean isOdd(int number)
{
if(number % 2 == 0)
{
return true;
}
return false;
}
if (number % 2 == 0)
表示該數字可以被2整除,因此它是偶數。
您想將條件更改為:
if (number % 2 != 0)
並且,由於條件語句是布爾值,因此可以進一步簡化它,例如:
public static boolean isOdd(int number)
return number % 2 != 0;
}
另外,使用您的方法的代碼中有一個錯誤。
boolean answer=isOdd(number);
if (answer=true)
{
System.out.println("ODD");
}
if (answer=false)
{
System.out.println("EVEN");
}
在這里, answer=true
是分配,而不是比較。 您可以通過編寫以下內容來修復它:
if (isOdd(number))
{
System.out.println("ODD");
}
else
{
System.out.println("EVEN");
}
您無需分配答案是對還是錯,而是分配這些值。 在Java中檢查相等性是==
。 順便說一句,我建議只將if (answer)
和if (!answer)
用作布爾值-看起來更簡單,出錯的空間更少:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.