生成输出文本文件时扫描程序类错误

时间:2014-02-23 20:51:32

标签: java swing console

import java.io.*;
import java.util.*;
class cat
{
int t,n[],m[];
private void input()throws IOException
{
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    Scanner s=new Scanner(System.in);
    t=Integer.parseInt(br.readLine());
    n=new int[t];
    m=new int[t];
    for(int i=0;i<t;i++)
    {
        n[i]=s.nextInt();//line 15
        m[i]=s.nextInt();
    }
}

private void calc(int n, int m)
{
    double c=0.0;
    if(n==1 && m==1)
        System.out.println("Multiple");
    else
    {
        c=((n*m)-1.0)/(n-1);
        if(c==Math.ceil(c))
            System.out.println(Math.round(c));
        else
            System.out.println("Not possible");
    }
}

public static void main(String args[])throws IOException
{
    cat ob=new cat();
    ob.input();
    for(int i=0;i<ob.t;i++)
    {
        ob.calc(ob.n[i],ob.m[i]);
    }
}
}

我试图通过从我在此位置C:\input\input1.txt创建的文件中获取输入来执行此程序,它将在C:\output\output1.txt生成输出文件。但是当我执行我的类文件java cat <C:\input\input1.txt> C:\output\output1.txt时,我收到以下错误,并在输出文件夹中生成一个0KB文件.HELP

ERROR enter image description here

2 个答案:

答案 0 :(得分:1)

在使扫描仪移动到下一个元素之前,检查下一个元素是否存在总是一个好习惯。您可以通过添加以下代码行来实现:

if(scanner.hasNextInt())
{
   // get nextInt(), next()....
   n[i]=s.nextInt();
}

if(scanner.hasNextInt())
{
    m[i]=s.nextInt();
}

答案 1 :(得分:1)

当输入用尽时发生NoSuchElementException,即Scanner中没有下一个元素。 Here是指向相应Java API的链接。