gpt4 book ai didi

java - 表达式的类型必须是数组类型,但它解析为字符串

转载 作者:行者123 更新时间:2023-12-01 17:14:54 25 4
gpt4 key购买 nike

其部分java代码。不幸的是,当 argz 出现时,我遇到了一个错误:表达式的类型必须是数组类型,但它解析为 String。

有什么想法为什么我不能做 argz[i]!='\0' 等等?如果有任何帮助,我将不胜感激。

public  static int parsuj(String argz) throws Zakres,NieprawidlowaDana {
int i=0;
while(argz[i] != '\0'){
if(argz[i]=='-')
throw new Zakres();
if( !argz.isdigit(i) )
throw new NieprawidlowaDana();

i=i+1;
}
int x = Integer.parseInt(argz);

return x;

}

最佳答案

根据immibis的评论,Java确实不是C。所以字符串操作确实不同。请参阅String documentation您可以在字符串上使用哪些方法。

对于您的代码片段:

public static int parsuj(String argz) throws Zakres,NieprawidlowaDana {
for (int i = 0; i < argz.length(); i++) {
if (argz.charAt(i) == '-')
throw new Zakres();
if (!Character.isDigit(argz.charAt(i)))
throw new NieprawidlowaDana();
}
return Integer.parseInt(argz);
}

说明:使用方法String.charAt(int) 从字符串中检索单个字符。要检查字符是否为数字,必须使用 Character 类中的静态方法 isDigit。并且 - 最后但并非最不重要的 - 字符串知道其长度,并且 - 与 C 不同 - 字符串不是以 null 结尾的。

关于java - 表达式的类型必须是数组类型,但它解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22655153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com