老师给了份功课,关于Mastermind.
整个java要写的步骤都想好了.但有几个问题想问一下.1. 关于array
本人想用两个array分别放着电脑随机产生的4个数字,用户输入的4个数字.
想问一下,是不是这样写.
int[] arr1 = new int[4]; 
int userguess;
int digit1,digit2,digit3,digit4;
userguess=integer.parseInt((JOptionPane.show…………………………………));
digit1 = userguess / 1000;
digit2 = userguess / % 1000 / 100;
digit3 = ………………..
digit4 = ……………….arr1[0] = digit1;
arr1[1] = digit2;
…………
…………..2. 计算输入数字和电脑随机数字是否正确.
黑色:输入的数字&位置和电脑的数字&位置相同.
这个我用for就写好了.
for (int i = 0; i < arr1.length; i++)
if ( arr1[i] == arr2[i])  // arr2是电脑随机的数字
black++;            // 玩家猜的数字有多少个和计算机随机出来的数字&位置相同
else
black = 0;但是本人却不懂怎么把他转换为Method.
他要求的Method
Public static Boolean getBlack(int guess, in tans)
//用这method计算输入的数字里面有多少个数字跟电脑随机出来的数字&位置相同.Method里面的statement到底该怎么写?
写完后要怎么叫到Main那里用?3. 在java里面,玩家输入new重玩,quit离开要怎么写? 问题多了点,希望哪位能帮我一点点

解决方案 »

  1.   

    public static Boolean getBlack(int guess, int tans){
    if(guess==tans){
      return ture;
    }
    return false;
    }
    这里返回的是Boolean类型哦,怎么是整形的呢?
      

  2.   

    System.in.readLine()。读取控制台输入,一次读入一行,成一个String。然后你用String的splite方法,使用空格做分割符,就可以得到用户输入了。整个结构嘛。
    main(……)

    System.out.println(“………………欢迎信息,和提示输入”);
    while(1)

    ……打印什么东东在屏幕上,总之是你的规则之类吧
    String  str=System.in.readLine();
    if(str.equle("quit")){break;
    }else if(str.equle("quit")){continue;}
    ……判断Str是否符合你的要求…………处理你的那些算法,或者调用
    ………………
    }
      

  3.   

    就像1楼说的,怎么Method返回的是boolean型啊
      

  4.   

    楼主你第二个程序段的black用作整形是和getBlack()的“Black”不是一个逻辑意思……一定要用函数吗?你看:public   static   boolean   getBlack(int   guess,   int   tans){
    if(guess==tans){
        return   ture;
    }
    return   false;
    } 优化一下:
    public static boolean getBlack(int guess, int tans){
        return (guess==tans);
    }是不是有点……
      

  5.   

    public class Radom { public static void main(String[] args) {

    //comRandom
    String comRandom = comRandom();

    //userRandom
    String temp = null;
    String userRandom = userRamdon(temp);

    //compareTo(user computer)
    compareTo(comRandom, userRandom); } private static String comRandom(){ int tempInt = (int)(Math.random()*10000);
    String temp = String.valueOf(tempInt);
    System.out.println("Please input " + temp);
    return temp;
    } private static String userRamdon(String temp){ try {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    temp = br.readLine();
    System.out.println("你输入的随机数是:" + temp);
    } catch (IOException e) {
    e.printStackTrace();
    }
    return temp;
    }

    private static void compareTo(String comRandom, String userRandom) {
    if (comRandom.equals(userRandom)) {
    System.out.println("true");
    } else {
    System.out.println("false");
    }
    }
    }