我想制作一个小程序,它首先要求两个数字,使用某种方法检查它们是否良好,然后在获得最后一个数字后打印出该方法的结果。 (是的,你赢了,不,你输)。
我将这个问题与这里的其他问题进行了比较,但不知何故我无法让它发挥作用。我在方法内部、方法外部制作了 luckyNumbers,甚至购买了“Big Java”,但现在我陷入了困境。
非常感谢您的帮助!
package wtf;
import Java.util.Scanner;
/**
*
* @author Darl
*/
public class WTF {
public static int luckyNumber;
public static int secondLuckyNumber;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Give me a number between 0 and 100 to win a prize. ");
luckyNumber = sc.nextInt();
System.out.println("Give me another number between 100 and 200.");
secondLuckyNumber = sc.nextInt();
}
public static boolean hasLuckyNumber(int luckyNumber, int min, int max){
min = 20; //all winning tickets from 20 till 60
max = 60;
if (luckyNumber > min || luckyNumber < max) {
System.out.println("Unfortunatly, no prize");
}else{
System.out.println("You've got a prize!");
}
}
public static boolean hasSecondLuckyNumber(int secondLuckyNumber, int min, int max){
min = 140; // all winning tickets from 140 till 175
max = 175;
if (secondLuckyNumber > min || secondLuckyNumber < max){
System.out.println("Sad face");
}else{
System.out.println("We've got a winner!");
}
}
}
最佳答案
对于方法 hasLuckyNumber(...) 和 hasSecondLuckyNumber(...) 您必须返回一个 boolean 值,true 或 false。然后在 main 内部你必须改变你的实现。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Give me a number between 0 and 100 to win a prize. ");
luckyNumber = sc.nextInt();
if(hasLuckyNumber(luckyNumber)) {
System.out.println("Give me another number between 100 and 200.");
secondLuckyNumber = sc.nextInt();
if(hasSecondLuckyNumber(secondLuckyNumber)) {
System.out.println("We've got a winner!");
}
else {
System.out.println("Sad face");
}
}
else {
System.out.println("Unfortunatly, no prize");
}
}
public static boolean hasSecondLuckyNumber(int secondLuckyNumber){
if (secondLuckyNumber > 140 || secondLuckyNumber < 175){
return false;
} else{
return true;
}
}
public static boolean hasLuckyNumber(int luckyNumber){
if (luckyNumber > 20 && luckyNumber < 60) {
return true;
}else{
return false;
}
}
关于Java 公共(public)静态 boolean 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26240250/