这是我的第二个问题,仍然是初学者,所以请耐心等待 我有一个非常基本的刽子手类型游戏的代码。我已经将字符更改为“ - ”,我能够获得输入的索引,但我无法将“ - ”转换回输入的字符。登记/> 它是一个不完整的代码。
String input;
String encrypt = line.replaceAll("[^ ]","-");
System.out.println(encrypt);
for (int j=0;j<10;j++){ //Asks 10 times for user input
input = inpscanner.nextLine();
int check = line.indexOf(input);
while (check>=0){
//System.out.println(check);
System.out.println(encrypt.replaceAll("-",input).charAt(check));
check = line.indexOf(input,check+1);
}
以下是它的样子:
你有10次猜测电影的机会
------
Ø
Ø
Ø
大号
大号
你不要重复,因为你不在电影中。而'o'是2次
我想像loo---
(looper)那样
如果是变量,我怎么能这样做"[^ ]","-"
?
答案 0 :(得分:0)
这可能会有所帮助。
public static void main(String[] args) {
String line = "xyzwrdxyrs";
String input;
String encrypt = line.replaceAll("[^ ]","-");
System.out.println(encrypt);
System.out.println(line);
Scanner scanner = new Scanner(System.in);
for (int j=0;j<10;j++) { //Asks 10 times for user input
input = scanner.nextLine();
//int check = line.indexOf(input);
int pos = -1;
int startIndex = 0;
//loop until you all positions of 'input' in 'line'
while ((pos = line.indexOf(input,startIndex)) != -1) {
//System.out.println(check);
// you need to construct a new string using substring and replacing character at position
encrypt = encrypt.substring(0, pos) + input + encrypt.substring(pos + 1);
//check = line.indexOf(input, check + 1);
startIndex = pos+1;//increment the startIndex,so we will start searching from next character
}
System.out.println(encrypt);
}
}