我试图从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()方法吗?我认为它会等待用户输入,但它看起来不是,并抛出异常说扫描仪中没有任何东西.
我有一个非常大的文本文件,我需要从最近的某个地方收集数据.也许Scanner并不是最好的方法,但是在获取我感兴趣的文件部分之前从顶部开始并抓住6000行是非常浪费的.有没有办法告诉Scanner跳转到比如文件的7/8或从底部开始向上扫描并逐行抓取?
谢谢
可能重复:
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) 我有一个数据文件,由数据行组成,换行符分隔.我需要将文件的内容读入一个字符串数组,我想以正确的大小有效地创建数组.是最有效的
在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)
在阅读了几个非常相似的问题之后,我尝试了
我很茫然。可能是什么问题呢?(谢谢您的阅读!)
java eclipse filenotfoundexception filereader java.util.scanner
可能重复:
扫描程序与BufferedReader
是否有任何情况下使用java.util.Scanner来读取某种类型的输入?在我的小测试中,我发现它比java.util.Bufferedreader或从java.util.InputStreamReader实现自己的阅读器要慢得多.
那么为什么我想要使用扫描仪有什么理由呢?
我愿意在Java中从下面的一行读取一系列数字:
1 80,982 163,8164 170,2620
Run Code Online (Sandbox Code Playgroud)
所以最终我想要结果数组 [1, 80, 982, 163, 8164, 170, 2620]
我正在考虑使用扫描仪,但不清楚如何以一种简洁的方式实现它,我可以请一些提示吗?
谢谢阅读!
我有一个问题,我试图创建一个应用程序,计算文件中符号的所有出现...扫描方法"nextLine"停在一个空行...有没有办法让它继续前进,直到它到达真正的文件结束?
简而言之:我可以在文件中获得REAL行吗?
先感谢您!
我正在尝试使用扫描仪输入学生详细信息,但我不断收到此错误:
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) Scanner in = new Scanner(System.in,"UTF-8");
System.out.println(in.next());
Run Code Online (Sandbox Code Playgroud)
如果我粘贴?,我收到?控制台的输出.有人可以解释我能做些什么来正确读取这样的逻辑符号?我正在使用NetBeans 8.0.1.
谢谢.