当前位置: 首页 > 知识库问答 >
问题:

标准输出在Java中为空

庄高谊
2023-03-14
import java.io.*;
import java.util.*;
public class CandidateCode {
    public static void main(String args[] ) throws Exception {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        int[] arr = new int[n];
        int tot=1;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
        String[] strs = br.readLine().split(" ");
        for(int i=0; i<n; i++){
            arr[i]=Integer.parseInt(strs[i]);
        }
        for(int i=0;i<n; i++){
            tot*=arr[i];
        }
        System.out.println(tot);

   }
}

我不知道这个代码出了什么问题,我得到的标准输出是空的错误帮助我!

提供的投入:

5 

1 2 3 4 5

共有1个答案

长孙章横
2023-03-14

for循环中,将i 替换为 i 。这将确保循环也将按照 strs[]的长度执行,而不仅仅是 n的次数,这可能会在第一个循环中导致 ArrayIndexOutOfBoundsException错误,例如对于以下输入:

5
80

第一个循环将尝试从索引0运行到4,而STRS[]的长度在本例中为1,即在本例中允许的最大索引为0

仅使用I ,第二个循环主体将在没有 ArrayIndexOutOfBoundsException的情况下运行,但是当 br.readline()中的条目数与 n不同时,结果将是意外的。由于 arr[]中的所有位置默认都用 0初始化,因此当 str.length 时,结果将为零;另一方面,当 str.length>n时,索引之外的条目 n-1将不相乘。

您可以将i 也写成 i

 类似资料:
  • 我是Java的初学者。学习罗伯特·塞奇威克的《Java导论》 我尝试在Netbeans中编译以下代码。 } 我收到了这个错误。我已将文件放置在标准位置。java 线程“main”java.lang.RuntimeException中的异常:无法编译的源代码-错误的sym类型:示例。StdIn.is在示例中为空。verage.main(verage.java:16)Java结果:1 BUILD SU

  • 问题内容: 我使用Java程序从网站下载文件,标题如下所示 没有指定编码 我要做的是下载后将文件名传递给另一个应用程序以进行进一步处理。我用 在标准输出中,字符串打印为 如何在Java中将标准输出更改为“ UTF-8”? 我尝试编码为“ UTF-8”,但内容仍然相同 更新: 我无需进行任何代码更改即可解决此问题。在我从其他应用程序将此文件称为我的jar文件的地方,我执行了以下操作 这似乎已经解决了

  • 问题内容: 我有一个奇怪的问题,如果可以解决,那就太好了。出于调试目的(以及其他一些目的),我在标准输出上编写了控制台Java应用程序的日志。在标准输出上写一些内容,在标准错误上打印一些错误,例如错误。问题是这两个没有完全同步,因此打印线的顺序并不总是正确的。我猜这是因为打印了很多东西,并且碰巧一个输出的缓冲区已满,所以其他输出在第一个输出刷新其缓冲区之前就已打印出来。 例如,我想这样写: 有时打

  • 和之前 inputs/stdin 插件一样,outputs/stdout 插件也是最基础和简单的输出插件。同样在这里简单介绍一下,作为输出插件的一个共性了解。 配置示例 output { stdout { codec => rubydebug workers => 2 } } 解释 输出插件统一具有一个参数是 workers。Logstash 为输

  • 回顾一下我们写的第一个 Rust 程序就是带副作用的,其副作用就是向标准输出(stdout),通常是终端或屏幕,输出了 Hello, World! 让屏幕上这几个字符的地方点亮起来。println! 宏是最常见的输出,用宏来做输出的还有 print!,两者都是向标准输出(stdout)输出,两者的区别也一眼就能看出。至于格式化输出,基础运算符和字符串格式化小节有详细说明,这里就不再啰嗦了。 更通用

  • 问题内容: 如何将stdout数据重定向到tkinter文本小部件? 问题答案: 您需要创建一个类似文件的类,其方法改为写入Tkinter小部件,然后执行。 示例(从链接复制): 然后,在您的Tkinter小部件中: