作者JazzChen (PhoenixJazz)
看板java
标题[问题] 如何写成一个猜数字的游戏
时间Mon Oct 15 15:16:07 2012
小弟不才,在此次第一次发文
实在是因为碰上了一个大大大的问题
由於小弟是自学,学疏才浅,实在是受不了可能要一次跑67个if式因此想上来询问各位
大大
相信各位大大都聪明才智都有听过"猜数字"的游戏
小弟不才最近由於兴趣正在编撰一个猜数字的小游戏程式
但可能是小弟对於电脑方面的低能或等等,实在只能用土法炼钢的方法用if式一个一个
慢慢keyin,但是实在是keyin到发疯了!
故想请问各位大大有没有比较"偷懒"的方法可用,让小弟脱离可怕的if地狱...
感激!!
--
不管何时何地,只有能够正视自己慾望的人,才能够追逐自己的想望!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.81.155.194
1F:→ johnhao1206:1A2B那个吗? 10/15 15:17
2F:→ JazzChen:是的! 10/15 15:19
3F:→ nameyi:回圈? 10/15 15:36
4F:→ johnhao1206:你是出题目还是猜题目的? 10/15 15:48
5F:→ johnhao1206:之前有写过,也是用if解出来,但没有用到67个 10/15 15:50
6F:→ luoqr:这也许不是电脑问题 而是数学问题... 10/15 15:55
小弟第一次发文,犯了新手常犯的错误...
在此默默贴上小弟的落落长if式:
import java.util.Scanner;
public class guessnumber {
public static void p1() {
.
.
.
} //文字叙述
public static void p2() {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = sc.nextInt(); //小弟不才,不知道要怎麽让他变成一行输入
if ( a == 4 && b == 7 && c == 2 && d == 8 ) {
//小弟真的是太没有sence了...不知道要怎麽random设计..只好用设定的
.
.
.
}
if ( a != 4 && b != 7 && c != 2 && d != 8 ) {
.
.
.
} //都错时
if ( a == 4 && b != 7 && c != 2 && d != 8 ) {
System.out.println("1A");
} //1A
.
.
.
//接下来以此类推总共67个...
小弟也曾想过不要这麽麻烦,直接使用另一个稍微偷懒的方法:
import java.util.Scanner;
public class guessnumber {
public static void main(String[] args) {
.
.
int a = sc.nextInt();
do {
if ( a == 3741) {
System.out.println("字元");
}
if ( a != 3741) {
System.out.println("字元");
}
if ( a != 3000) {
System.out.println("1A");
}
.
.
.
//以下再度类推
} while ( a != 3741 );
试验效果惊人,完全又是前面的翻版....
摁...相信大大会想说小弟傻了
也没错,小弟除了想完逻辑式之後傻住之後也不只想过一遍这样的事情....
所以求大大帮帮忙!
感激不尽阿!
※ 编辑: JazzChen 来自: 220.139.7.193 (10/15 19:57)
p.s. 增补do/while後侧回圈
※ 编辑: JazzChen 来自: 220.139.7.193 (10/15 20:04)
7F:推 LaPass:这是出题给别人猜吗? 10/16 12:51
8F:→ JazzChen:YES! 10/16 14:35
9F:推 AtarashiAko:主题变版标了XD 10/16 16:21
10F:推 swpoker:这个算什麽~之前我有个同学单只JAVA写了一万行!!!!! 10/16 17:10
11F:推 LaPass:JAVA一万行...... 10/16 17:41
12F:→ lomea:演算法 在想一想吧~~你的逻辑怪怪的~~ 10/16 20:13