关于输入的问题
就是怎么样能够连续读取键盘的输入,大家看看源程序就明白我的意思了,请大侠们不吝赐教呀!
import java.util.*;
import java.io.*;
public class RandomTest
{
static String[] card={ "剪子 ", "锤 ", "包袱 "};
public static void compare(int a, int b)
{
if(a == b)
System.out.println(card[a]+ " "+card+ " 平手 ");
else
{
if(a==0&&b==1) System.out.println(card[a]+ " "+card+ " 玩家胜 ");
else if(a==0&&b==2) System.out.println(card[a]+ " "+card+ " 计算机胜 ");
else if(a==1&&b==0) System.out.println(card[a]+ " "+card+ " 计算机胜 ");
else if(a==1&&b==2) System.out.println(card[a]+ " "+card+ " 玩家胜 ");
else if(a==2&&b==0) System.out.println(card[a]+ " "+card+ " 玩家胜 ");
else if(a==2&&b==1) System.out.println(card[a]+ " "+card+ " 计算机胜 ");
}
}
public static void main(String[] args) throws Exception
{
Random rad=new Random();
int a,b;
System.out.println( "开始游戏 ");
while(true)
{
if(System.in.read() == 'y ')
{
a=rad.nextInt(3);
System.out.println( "请问你选择: ");
b=System.in.read();
System.out.println(b);
compare(a,b);
System.out.println( "继续游戏吗?[y/n] ");
}
else if(System.in.read() == 'n ')
break;
}
}
}
------解决方案--------------------这个和 read() 读入数据的类型有关. 你需要的是读入一个字符, 这样是不行的.
可以使用
java.io.Reader
不过需要进行流的转换.
也可以使用 java.util.Scanner;
进行匹配输入....
------解决方案--------------------以下是个关于输出输入的一个问题。
希望能对你有帮助:
package c11;
import java.io.BufferedReader;
import
java.io.IOException;
import java.io.InputStreamReader;
public class Echo {
public static void main(String[] args)
throws
IOException {
System.out.println( "please input: ");
BufferedReader in = null;
in =
new BufferedReader(
new InputStreamReader(System.in));
String s2 = in.readLine();
String[] str = s2.split( "\\s+ ");
System.out.println( "size is " + str.length);
System.out.println( "the char you input is: ");
for (int i = 0; i < str.length; i++) {
if (i != str.length - 1) {
System.out.print(str[i] + ", ");
} else {
System.out.print(str[i]);
}
}
in.close();
}
} ///:~