gpt4 book ai didi

java - 没有编译错误,但代码输出错误(JCreator):

转载 作者:太空宇宙 更新时间:2023-11-04 13:05:12 26 4
gpt4 key购买 nike

输入

t(行数),接下来的 t 行包含空格分隔的数字。

输出

输出应返回每行中数字的总和。

问题

已在JCreater中编码,没有编译错误!但是只有在取消注释行后才能获得所需的输出,否则程序会突然终止并显示答案为零。它仅适用于 System.out.println 语句,任何其他虚假语法都不会得到结果!

代码

import java.io.BufferedReader;
import java.io.InputStreamReader;

class TestClass {
public static void main(String args[] ) throws IOException
{
int t=0;
BufferedReader StdIn = new BufferedReader(new InputStreamReader(System.in));
try
{
String line = StdIn.readLine();
t = Integer.parseInt(line);
}
catch (IOException e)
{
System.err.println("Error: " + e);
}
int m=0;
int result[]= new int [t];
for(int q=0;q<t;q++)
{
// System.out.println("LOOP: "+q);
m=fun_num();
result[q]=m;
}
for(int q=0;q<t;q++)
System.out.println(result[q]);
}
public static int fun_num()
{
int i=0,o=0,j=0,m=1,s=0,sum=0;
String inp=null;
BufferedReader StdIn = new BufferedReader(new InputStreamReader(System.in));
try
{
String line = StdIn.readLine();
inp=line;
}
catch (IOException e)
{
System.err.println("Error: " + e);
}
String inp2=" ";
j=inp.length();
for(i=0;i<j;i++)
{
if (inp.charAt(i)== inp2.charAt(0))
m++;
}
int num_in_order[]= new int [m];
int num=0;
for(i=0;i<j;i++)
{
if (inp.charAt(i)== inp2.charAt(0))
{
num_in_order[s]=num;
s++;
num=0;
}
else
{
o=((int)(inp.charAt(i))-48);
num=(num*10)+o;
}
}
num_in_order[s]=num;
for(i=0;i<m;i++)
sum=sum+num_in_order[i];
return (sum);
}
}

最佳答案

我认为您创建的第一个读取器 (StdIn) 正在缓冲所有输入,然后 fun_num() 中的读取器有机会查看它。尝试将 StdIn 作为参数传递给“fun_num”函数,而不是每次都创建它。

关于java - 没有编译错误,但代码输出错误(JCreator):,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533549/

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