花了将近三个小时从看懂和敲出来,还是不给力啊
package dotcom;
// HeadFirstJava "Sink a Dot Com"
public class SimpleDotComTest {
public static void main(String[] args) {
int numOfGuesses = 0;
// getting user input for now
GameHelper helper = new GameHelper();
// instantiate a SipleDotCom object
SimpleDotCom dot = new SimpleDotCom();
// make the random number for the first cell, and use it to make the cell locations array
int randomNum = (int)(Math.random()*5);
int [] locations = {randomNum,randomNum+1,randomNum+2};
// invoke the setter method on the dot com
dot.setLocationCells(locations);
boolean isAlive =true;
while(isAlive == true) {
String guess = helper.getUserInput("enter a number");
String result = dot.checkYourself(guess);
numOfGuesses++;
if(result.equals("kill")) {
isAlive = false;
System.out.println("You took"+ numOfGuesses + "guess");
}
}
}
}
package dotcom;
public class SimpleDotCom {
int [] locationCells;
int numOfHits = 0;
public void setLocationCells(int[] locations) {
locationCells = locations;
}
public String checkYourself(String StringGuess) {
//covert the String to int
int guess = Integer.parseInt(StringGuess);
// make a variable to hold the result we'll return. Put "miss" in as the default
String result = "miss";
// repeat with each cell in the locationCells arrays(each location of object)
for(int cell:locationCells) {
// compare the user guess to this element(cell) in the arrays
if (guess == cell) {
// we got a hit
result = "hit";
numOfHits++;
break;
}
}
// if number of hits is 3
if(numOfHits == locationCells.length) {
result = "Kill";
}
System.out.println(result);
return result;
}
}
package dotcom;
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;
}
}