标签: java.util.scanner

使用Scanner.next()获取文本输入

我试图从Java 6中的键盘输入文本输入.我是该语言的新手,每当我运行以下代码时,我都会收到此错误:

package test1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
    boolean quit = false;
    while (!quit){
        Scanner keyIn;
        String c = "x";
        while (c != "y" && c != "n") {
            keyIn = new Scanner(System.in);
            c = keyIn.next();
            keyIn.close();
        }
        if (c == "n")
            quit = true;
    }
 }
}


Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:838)
at java.util.Scanner.next(Scanner.java:1347)
at test1.Test.main(Test.java:11)
Run Code Online (Sandbox Code Playgroud)

我错误地使用了next()方法吗?我认为它会等待用户输入,但它看起来不是,并抛出异常说扫描仪中没有任何东西.

java java.util.scanner

4
推荐指数
1
解决办法
3万
查看次数

你可以将扫描仪跳到文件中的位置或向后扫描吗?

我有一个非常大的文本文件,我需要从最近的某个地方收集数据.也许Scanner并不是最好的方法,但是在获取我感兴趣的文件部分之前从顶部开始并抓住6000行是非常浪费的.有没有办法告诉Scanner跳转到比如文件的7/8或从底部开始向上扫描并逐行抓取?

谢谢

java java.util.scanner

4
推荐指数
1
解决办法
1万
查看次数

Java:如何计算不.文件中的行?

可能重复:
Java中文件中的行数

我需要计算通过命令行参数传递给java的txt文件的行数.我知道如何从文件中读取,但我在完成剩下的工作时遇到了麻烦.任何帮助,将不胜感激.这是我到目前为止:

   import java.util.*;
   import java.io.*;
   public class LineCounter {
public static void main (String [] args) throws IOException{
    Scanner file = new Scanner(new File("myFlile.txt"));
    int count = 0;
    while(file.hasNext()){
        boolean s = file.hasNext();
        int count = file.nextInt();
    }

    System.out.println(count);
   }
     }
Run Code Online (Sandbox Code Playgroud)

java io java.util.scanner

4
推荐指数
1
解决办法
5万
查看次数

确定文本文件长度的最有效方法是什么?

我有一个数据文件,由数据行组成,换行符分隔.我需要将文件的内容读入一个字符串数组,我想以正确的大小有效地创建数组.是最有效的

  1. 使用ArrayList,
  2. 使用BufferedReader扫描文件,标记开始,计数行,然后重新设置回标记,或
  3. ???

java performance arraylist bufferedreader java.util.scanner

4
推荐指数
1
解决办法
190
查看次数

使用Java在Eclipse中创建扫描仪时出现FileNotFoundException

在Snow Leopard的Eclipse(Indigo)上运行以下Java 6代码时,出现FileNotFoundException异常:

import java.io.*;
import java.util.*;

public class readFile {

    public static void main(String[] args) {

        Scanner s = new Scanner(new FileReader("/Users/daniel/pr/java/readFile/myfile.txt"));  // Line 9

    }
}
Run Code Online (Sandbox Code Playgroud)

例外是

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Unhandled exception type FileNotFoundException

    at readFile.main(readFile.java:9)
Run Code Online (Sandbox Code Playgroud)

我当前的工作空间是/ Users / daniel / pr / java。它仅包含一个项目(readFile),文件层次结构如下所示:

- readFile
    - src
        - (default package)
            - readFile.java
    - JRE System Library [JavaSE-1.6]
    - myfile.txt
Run Code Online (Sandbox Code Playgroud)

在阅读了几个非常相似的问题之后,我尝试了

  • 将myfile.txt的副本放置在项目,bin,src和工作区目录以及我的主文件夹和根文件夹中
  • 识别工作目录并使用相对路径
  • 通过Eclipse中的“运行配置>参数>工作目录”手动设置工作区
  • 在bin,readFile,src和java目录中使用命令行Java启动器运行程序(在所有这些位置中都有myfile.txt的副本)
  • 删除文件扩展名和/或延长文件名(超出某些假定的最小字符限制),并且
  • 验证myfile.txt的权限(现在为rw-r--r--)。

我很茫然。可能是什么问题呢?(谢谢您的阅读!)

java eclipse filenotfoundexception filereader java.util.scanner

4
推荐指数
1
解决办法
1万
查看次数

为什么java.util.Scanner存在?

可能重复:
扫描程序与BufferedReader

是否有任何情况下使用java.util.Scanner来读取某种类型的输入?在我的小测试中,我发现它比java.util.Bufferedreader或从java.util.InputStreamReader实现自己的阅读器要慢得多.

那么为什么我想要使用扫描仪有什么理由呢?

java java.util.scanner

4
推荐指数
1
解决办法
3985
查看次数

读取逗号和空格分隔的一行 - java

我愿意在Java中从下面的一行读取一系列数字:

1   80,982  163,8164                    170,2620    
Run Code Online (Sandbox Code Playgroud)

所以最终我想要结果数组 [1, 80, 982, 163, 8164, 170, 2620]

我正在考虑使用扫描仪,但不清楚如何以一种简洁的方式实现它,我可以请一些提示吗?

谢谢阅读!

java java.util.scanner

4
推荐指数
2
解决办法
1万
查看次数

Java扫描程序计数文件中的行

我有一个问题,我试图创建一个应用程序,计算文件中符号的所有出现...扫描方法"nextLine"停在一个空行...有没有办法让它继续前进,直到它到达真正的文件结束?

简而言之:我可以在文件中获得REAL行吗?

先感谢您!

java java.util.scanner

4
推荐指数
1
解决办法
3万
查看次数

使用scanner类输入数组(错误:不兼容类型:扫描程序无法转换为String)

我正在尝试使用扫描仪输入学生详细信息,但我不断收到此错误:

error: incompatible types: Scanner cannot be converted to String
Run Code Online (Sandbox Code Playgroud)

我有4个扫描仪

static Scanner name = new Scanner(System.in);
static Scanner Date = new Scanner(System.in);
static Scanner address = new Scanner(System.in);
static Scanner gender = new Scanner(System.in);
Run Code Online (Sandbox Code Playgroud)

我的代码如下

System.out.println("You have chosen to add a student. Please enter the following details");
System.out.println("Name: ");
String Name = name.nextLine();  
System.out.println("DOB: ");
String DOB = Date.nextLine();
System.out.println("Address: ");
String Address = address.nextLine();
System.out.println("Gender: ");
String Gender = gender.nextLine();

app.addStudent(name, DOB, address, gender);
System.out.println(Name + " has …
Run Code Online (Sandbox Code Playgroud)

java arrays java.util.scanner

4
推荐指数
1
解决办法
3215
查看次数

如何使用Java Scanner读取命题逻辑符号作为输入?

 Scanner in = new Scanner(System.in,"UTF-8");
 System.out.println(in.next());
Run Code Online (Sandbox Code Playgroud)

如果我粘贴?,我收到?控制台的输出.有人可以解释我能做些什么来正确读取这样的逻辑符号?我正在使用NetBeans 8.0.1.

谢谢.

java input java.util.scanner

4
推荐指数
1
解决办法
188
查看次数