zl程序教程

您现在的位置是:首页 >  后端

当前栏目

简单的猜数字(JAVA版)

JAVA 简单 数字
2023-09-27 14:28:45 时间

按书上的样例来操作的。

不过,书上提到的BUG,我没有在看下一章时就解决了哈。。

从网上查找的删除数组元素的方法。

其实,将数据结构更改为ARRAYLIST,可能更简单。:)

GameHelper.java

import java.io.*;

public class GameHelper {

 public String GetUserInput(String prompt) {

 String inputLine = null;

 System.out.println(prompt + " ");

 try {

 BufferedReader is = new BufferedReader(new InputStreamReader(System.in));

 inputLine = is.readLine();

 if (inputLine.length() == 0 )

 return null;

 } catch (IOException e) {

 System.out.println("IOException: " + e);

 return inputLine;

}

SimpleDotCom.java

public class SimpleDotCom {

 int[] locationCells;

 int numOfHits = 0;

 public void setLocationCells(int[] locs) {

 locationCells = locs;

 public int[] delLocationCells(int eleInt) {

 for(int i = 0; i locationCells.length; i++) {

 if (eleInt == locationCells[i]) {

 for(int j = i + 1; j locationCells.length; j ++) {

 locationCells[i] = locationCells[j];

 return locationCells;

 public String checkYourself(String stringGuess) {

 int guess = Integer.parseInt(stringGuess);

 String result = "miss";

 for (int cell : locationCells) {

 if (guess == cell) {

 result = "hit";

 numOfHits++;

 delLocationCells(guess);

 break;

 if (numOfHits == locationCells.length) {

 result = "kill";

 System.out.println(result);

 return result;

}

SimpleDotComTestDrive.java

 

public class SimpleDotComTestDrive {

 public static void main(String[] args) {

 int numOfGuesses = 0;

 GameHelper helper = new GameHelper();

 SimpleDotCom theDotCom = new SimpleDotCom();

 int randomNum = (int) (Math.random() * 5);

 int[] locations = {randomNum, randomNum + 1, randomNum + 2};

 theDotCom.setLocationCells(locations);

 boolean isAlive = true;

 while(isAlive == true) {

 String guess = helper.GetUserInput("Enter a number");

 String result = theDotCom.checkYourself(guess);

 numOfGuesses++;

 if(result.equals("kill")) {

 isAlive = false;

 System.out.println("You took " + numOfGuesses + " guesses.");

}

输出:


Java数字黑洞给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字 Java数字黑洞给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字