我正在努力制作一个基本的8球计划,并让它全部正常工作,但我想尝试改变它,所以如果人们问某些问题有预定义的答案.
package Main;
import java.util.Random;
import java.util.Scanner;
public class eightBall {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Ask a yes or no question");
String question = input.next();
double rnd = Math.random();
int random = (int)(rnd*10);
int numberOfChoices = 5;
if(question.equalsIgnoreCase("Will i win the lottery?")){
System.out.println("The almigty 8 ball can not tell you this answer.");
}else{
switch(random % numberOfChoices){
case 0:
System.out.println("No");
break;
case 1:
System.out.println("Yes");
break;
case 2:
System.out.println("Maybe");
break;
case 3:
System.out.println("Definitely");
break;
case 4:
System.out.println("Definitely Not");
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么我的if声明不起作用,因为如果我运行并问"我会赢得彩票吗?",我从那个转换声明中得到了一些东西.
next() 返回一个单词,而不是整行.
更具体地说,它读取缓冲区直到它到达分隔符,默认情况下是一个空格(' ').
你最终会得到"Will"而不是"Will i win the lottery?".
使用nextLine(),如果你想输入的整条生产线.
如果您认为某些内容无法正常工作,请尝试打印出来或使用调试器.
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |