gpt4 book ai didi

java自动将字符串转换为long?

转载 作者:行者123 更新时间:2023-12-01 23:18:26 25 4
gpt4 key购买 nike

在下面的代码中,在内部 for 循环内,我收到以下错误:

LargestProdInSeries.java:16: charAt(int) in java.lang.String cannot be applied to (java.lang.Long)

String c = numb.charAt(j);

当我声明 num 为字符串时,为什么会发生这种情况?

当我的整个字符串都是数字时,java 是否会进行自动转换?我该如何防止这种情况发生?

public class LargestProdInSeries {

public static void main(String[] args) {

String numb = "731671";
Long maxProd=0L;

for(Long i = 0L; i < numb.length() ; i++) {
Long prod=1L;

for(Long j=i ; j<i+3 ; j++) {
String c = numb.charAt(j);
prod *= Long.parseLong(c);
}

//inner for
if(maxProd<prod) {
System.out.println(maxProd);
}
}

System.out.println("Max Prod = "+maxProd);

}

}

最佳答案

for(Long j=i ; j<i+3 ; j++) {
String c = numb.charAt(j);

如您所见,您声明 j 很长。 String.charAt方法以int作为参数索引,并且不长。为了防止这种情况,请考虑是否确实需要 j 很长。如果不这样做,请将其更改为 int ,它应该可以正常工作(我猜您的 String numb 无论如何都不会比 int 的大小长)。如果您这样做,请阅读有关将长整型转换为整数的信息(例如: Convert Long into Integer )。

关于java自动将字符串转换为long?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20870659/

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