char不能被解除引用JAVA

时间:2013-11-21 18:35:26

标签: java

这是我的代码

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无法解除引用

我该如何解决这个问题

2 个答案:

答案 0 :(得分:6)

arr[i]将返回charchar是一种原始类型,无法解除引用。此外,它没有replace方法(或任何方法)。

我不确定您要对代码做什么,也许您想要arr[i]=a;

答案 1 :(得分:1)

arr[i]=arr[i].replace(a,i); 
  1. arr[i]char:原始数据类型,因此无法解除引用。
  2. arrchar的数组。 char的数组不是String。要使用replace函数,您应该选择String或更适合您的情况:字符串处理类,如StringBuilder