有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用charAt()函数赋值给char数组时抛出错误

我正在尝试使用下面的代码将字符串保存到字符数组中&;我收到此错误:类型不匹配:无法从char转换为char[]

下面是代码

public class ExCaluculator{
char[] swi=new char[10];
String San="hello world" ;
int samsu ;
public void excal(){

for(samsu=0;samsu>San.length();samsu++)
{
    swi=San.charAt(samsu);
}   
}
}

也请建议我做同样的任何其他方法


共 (3) 个答案

  1. # 1 楼答案

    不能将char分配给char[],数组是基于下标的。使用类似

    swi[0] = San.charAt(samsu);
    
  2. # 2 楼答案

    您必须将值分配给数组的元素:

    public class ExCaluculator{
    char[] swi=new char[10];
    String San="hello world" ;
    int samsu ;
    public void excal(){
    
    for(samsu=0;samsu>2;samsu++)
    {
        swi[samsu]=San.charAt(samsu);
    }   
    }
    }
    
  3. # 3 楼答案

    Array必须使用index访问,并且需要对for语句的condition进行更改

    for(samsu=0;samsu<San.length();samsu++)
    {
        swi[samsu]=San.charAt(samsu);
    }   
    

    此外,您还必须将array大小增加到11char[] swi = new char[11];),以避免ArrayIndexOutOfBoundsException

    或者你可以简单地使用

    char[] xyz = san.toCharArray();
    

    参考:Arrays