我创造了一些纯粹用于个人的东西来生成随机的代码"在需要时,使用Scanner工具来确认生成的代码是否适用于某种类型的用户,但无论我输入什么,boolean isFull都返回false。
感谢Rohit Jain,我意识到了我的错误。
import java.util.*;
public class Generate {
public static int minNum = 1;
public static int maxNum = 9999999;
public static int maxLast = 9;
public static int randomGen;
public static int randomLast;
public static boolean isFull = false;
static Scanner uIn = new Scanner(System.in);
public Generate() {
System.out.print("Is the user a Full Affiliate? Y/N \n ");
if(uIn.hasNextLine()){
//OLD: if(uIn.equals("Y")){
if(uIn.nextLine().contains("Y"){ //NEW, works.
isFull = true;
}else{
isFull = false;
}
}
System.out.println("Full Affiliate: " + isFull);
System.out.println("Generating Affiliate Reference:");
Generate.randomGen = minNum + (int) (Math.random() * ((maxNum - minNum) +1));
Generate.randomLast = minNum + (int) (Math.random() * ((maxLast - minNum) +1));
if(isFull){
System.out.println("GB" + randomGen + "?" + randomLast + "*");
}else{
System.out.println("GB" + randomGen + "?" + randomLast);
}
}
public static void main(String[] args){
Generate theNumber = new Generate();
}
}
我非常擅长在Minecraft和Bukkit之外使用Java,所以我认为这是我刚刚错过的一些相对简单的东西。
答案 0 :(得分:0)
由于您正在使用键盘阅读,因此您应该使用uIn.nextLine()
而不是uIn.hasNextLine()
刚刚看到你的编辑...我会彻底摆脱外部的if函数,只需使用内部的if / else函数。