我需要获取用户输入并用"e"
替换每个字符"#"
。由于Java不允许我们在String中使用索引,因此我决定使用charAt(index)
,现在我得到错误,说char不能被解除引用。
我想学习如何使用循环。
import java.util.Scanner;
public class Replacing{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
System.out.println("What is your name: ");
String name = input.next();
String name2= "";
int index = 0;
int length = name.length();
while (index < length){
char a = name.charAt(index);
if( a.equals("e")){
name2 = name2 + "#";}
else
{name2 = name2+cha;}
index++;}
}
}
答案 0 :(得分:1)
找到解决方案IT实际上非常简单: 不得不使用==运算符并且必须使用单引号而不是双引号,因为该引用&#34; char不能被取消引用&#34;错误
import java.util.Scanner;
public class PS9Q3{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
System.out.println("What is your name: ");
String name = input.next();
String name2= "";
int index = 0;
int length = name.length();
while (index < length){
char a = name.charAt(index);
if( a=='e'){ //<--------HAD TO CHANGE FROM DOUBLE QUOTE INTO SINGLE QUOTE
name2 = name2 + "#";}
else
{name2 = name2+a;}
index++;}
System.out.println(name2);
}
}