gpt4 book ai didi

java - 无法计算以下代码中的运行时错误

转载 作者:行者123 更新时间:2023-11-30 07:24:17 26 4
gpt4 key购买 nike

您好我无法确定以下问题中的运行时错误,请任何人解决

import java.util.Scanner;

class Solution6 {
public static void main(String[] args)
{
boolean condition = false;
do
{
Scanner scanner = new Scanner(System.in);
String value = scanner.nextLine();
condition = value.equalsIgnoreCase("exit");
if(!condition && value.contains(","))
{
calculate(value);
}
} while (!condition);
}

private static void calculate(String value)
{
final String[] event1 = value.split(",");
int ss = 0;
for ( int i = 0; i < event1[0].length(); ++i )
{
char c = event1[0].charAt( i );
ss += (int) c;
}
int sd = 0;
for ( int i = 0; i < event1[1].length(); ++i )
{
char c = event1[1].charAt( i );
sd += (int) c;
}

System.out.println(ss-sd);
}
}

最佳答案

问题是,如果用户提供一个带逗号的输入 (,),并且逗号是最后一个字符(或唯一的字符),那么 event1 将最多有 1 个元素:event1[0]。元素 event1[1] 将不存在,因此您会得到一个 ArrayIndexOutOfBoundsException

只有当输入是这样的时才会发生这种情况:bgh,afsfgf, 甚至 ,

您可以通过检查数组 event1 包含的元素数量来解决此问题。

关于java - 无法计算以下代码中的运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11555342/

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