问题是需要替换给定字符串中的单个字符,同时保留字符串中的其他字符。
代码是:
if(command.equalsIgnoreCase("replace single")) { System.out.println("Enter the character to replace"); String char2replace = keyboard.nextLine(); System.out.println("Enter the new character"); String secondChar = keyboard.nextLine(); System.out.println("Which " + char2replace + " would you like to replace?"); int num2replace = keyboard.nextInt(); for(int i=0; i< bLength; i++) { if(baseString.charAt(i)== char2replace.charAt(0)) { baseString = baseString.substring(0, i) + secondChar + baseString.substring(i + 1); }
您几乎做到了,只需在循环中添加一个计数器即可:
int num2replace = keyboard.nextInt(); int count = 0; for (int i = 0; i < bLength; i++) { if (baseString.charAt(i) == char2replace.charAt(0)) { count++; if (count == num2replace){ baseString = baseString.substring(0, i) + secondChar + baseString.substring(i + 1); break; } } if (char2replace.length() > 1) {//you need move this out of loop System.out.println("Error you can only enter one character"); } } System.out.println(baseString);