设计想法来源于假期逛科技馆时玩过的猜生肖小游戏
一同上次的小游戏一样利用最简单的输入输出语句来达到一个互动效果
二利用了计算机的二进制原理为每一个星座编码了一个二进制数输入对应的1或者0便对应了编码好的一个数。
例如如果你是双鱼座便会输入0100而0100转换成10进制为0*2^01*2^10*2^20*2^3
也就是020022对应的正好是双鱼座。
实际中在隐藏了数字的情况下能猜出是二进制原理还是有点难度的
public class game {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("欢迎来到神奇的星座世界");System.out.println("接下来你只需要回答我是或者否、我就能猜到你的星座");System.out.println("以下是否有你的星座是选择1 否选择0");int count 0;//用来跳出循环进入下一个循环语句int num 0;//把每次的二进制的选择转换成对十进制数的相加if(count 0){System.out.println("水瓶座 白羊座 双子座 狮子座 天秤座 射手座");int sc scanner.nextInt();if (sc 0) {num 0;}if(sc 1){num 1;}count ;} if(count 1){System.out.println(" 双鱼座 白羊座 巨蟹座 狮子座 天蝎座 射手座");int sc scanner.nextInt();if (sc 0) {num 0;}if(sc 1){num 2;}count ;} if(count 2){System.out.println("金牛座 双子座 巨蟹座 狮子座 摩羯座");int sc scanner.nextInt();if (sc 0) {num 0;}if(sc 1){num 4;}count ;} if(count 3){System.out.println("处女座 天秤座 天蝎座 射手座 摩羯座");int sc scanner.nextInt();if (sc 0) {num 0;}if(sc 1){num 8 ;}count ;}switch (num){case 1:System.out.println("水瓶座");break;case 2:System.out.println("双鱼座");break;case 3:System.out.println("白羊座");break;case 4:System.out.println("金牛座");break;case 5:System.out.println("双子座");break;case 6:System.out.println("巨蟹座");break;case 7:System.out.println("狮子座");break;case 8:System.out.println("处女座");break;case 9:System.out.println("天秤座");break;case 10:System.out.println("天蝎座");break;case 11:System.out.println("射手座");break;case 12:System.out.println("摩羯座");break;}}}