【问题标题】:Java scanner will not read args [closed]Java 扫描器不会读取 args [关闭]
【发布时间】:2014-07-11 00:14:04
【问题描述】:

我的老师给了我们预先编写的扫描仪代码,但它不起作用。我什至注释掉了我的代码并独立运行了预先编写的代码,看看这是否是我的错,不是。 如何纠正老师的错误?

import java.io.*;
import java.util.*;
public class Project2
{
public static void main (String args[]) throws Exception
{
    // Create a scanner to read from keyboard
    Scanner infile = new Scanner ( new FileReader(args[0]) );
    int count=0,sum=0, largest=Integer.MIN_VALUE,smallest=Integer.MAX_VALUE, evens=0, odds=0;
    double average=0.0;

我展示的代码只是开始部分。 我该如何解决这个问题?

我的错误信息。

Matthews-MacBook-Pro-4:Java MatthewSimon$ javac Project2.java
Matthews-MacBook-Pro-4:Java MatthewSimon$ java Project2 ints.txt















sf
sdf
e
23
6
57
5 
z
sfd
34
5
^[[A^[[Afs
d
^CMatthews-MacBook-Pro-4:Java MatthewSimon$ 

我必须 control+c 才能退出程序。程序运行后它只是一个空行...... 顺便说一句,我正在使用 mac/终端。

【问题讨论】:

  • 你是怎么调用这段代码的?
  • 这不是我写的!那么,如果这是问题,我该如何解决呢?
  • 这段代码应该做什么?它实际上是做什么的?
  • args 是命令行输入,所以我再问一下你是怎么调用这段代码的?
  • 您能否在代码中添加假定要从文本文件中读取的值?

标签: java input


【解决方案1】:

如果你只是简单地编译代码或通过 IDE 运行,它默认不会处理命令行参数。

试试:

javac Project2.java
java Project2 test.txt

这将传入一个名为 test.txt 的文件作为 arg[0]。这假设在与 Project2.java 相同的目录中有一个名为 test.txt 的文件。

这应该可以帮助您入门。我想你会想简单地遍历扫描仪并执行计算。我做了2个例子。

import java.io.*;
import java.util.*;
public class Project2
{
    public static void main (String args[]) throws Exception
    {
        // Create a scanner to read from keyboard
        Scanner infile = new Scanner ( new FileReader(args[0]) );
        int count=0,sum=0, largest=Integer.MIN_VALUE,smallest=Integer.MAX_VALUE, evens=0, odds=0;
        double average=0.0;

        while (infile.hasNext() == true ) {
            count += 1;
            sum += infile.nextInt();
        }
        System.out.println("Count: " + count + "\tSum: " + sum);
    }
}

【讨论】:

  • 他已经在这样做了。
  • 这就是我所做的......之前的所有东西只是我的终端显示它所在的文件夹
  • 这看起来与 OP 当前的终端命令一模一样
  • @Trinculo 至少他接受了你的回答以感谢你的努力
猜你喜欢
  • 1970-01-01
  • 2014-06-29
  • 2014-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-22
  • 2011-04-20
  • 1970-01-01
相关资源
最近更新 更多