这是我的代码
import java.util.Scanner;
public class prog3{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
char a1 = input.nextLine().charAt(0);
char a = Character.toUpperCase(a1);
String b = input.nextLine();
int size= b.length();
char [] arr =b.toCharArray() ;
for (int i=0;i<size;i++){
char temp = Character.toUpperCase(arr[i]);
if(a==temp){
arr[i]=arr[i].replace(a,i); // here i am facing error
System.out.print(arr[i]);
}
}
}
}
我在第14行遇到错误
行:14:char无法解除引用
我该如何解决这个问题
答案 0 :(得分:6)
arr[i]
将返回char
。 char
是一种原始类型,无法解除引用。此外,它没有replace
方法(或任何方法)。
我不确定您要对代码做什么,也许您想要arr[i]=a;
答案 1 :(得分:1)
arr[i]=arr[i].replace(a,i);
arr[i]
是char
:原始数据类型,因此无法解除引用。 arr
是char
的数组。 char
的数组不是String
。要使用replace
函数,您应该选择String
或更适合您的情况:字符串处理类,如StringBuilder