我试图从一个文件中读取,该文件的格式为:someName:aDoubleNumber,并返回名称和double.我写过以下扫描仪,但它不起作用,任何想法为什么?
Scanner readFile = new Scanner("text.txt");
readFile.useDelimiter(":");
while (fileScanner.hasNext()) {
String name = readFile.next();
}
Run Code Online (Sandbox Code Playgroud) public StormAnalysis(){
try {
fScanner = new Scanner(new File("tracks1949to2010_epa.txt"));
while(fScanner.hasNextLine()){
System.out.println(fScanner.nextLine());
}
} catch (FileNotFoundException e) {
System.out.println("File not found. Try placing the tracks1949to2010_epa.txt in the same folder as StormAnalysis.java");
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
以上是我的代码(我也有一个错误的图像:http: //folk.uio.no/arnabkd/test/images/error-code-task.jpg
如您所见,txt文件与StormAnalysis.java文件位于同一文件夹中.此外,如果我将文件路径更改为"weather.dat"(作为另一个任务/问题),代码也可以工作.
任何想法将不胜感激!
我想读取整个文本文件并将其全部内容存储到单个字符串中.然后我想将字符串打印到控制台窗口.我试过这个:
import java.util.Scanner;
import java.io.*;
public class WritingTextFiles{
public static void main (String [] args) throws IOException{
FileWriter fw= new FileWriter("testing.txt");
Scanner in= new Scanner (System.in);
String testwords=in.nextLine();
fw.write(testwords);
BufferedReader r = new BufferedReader( new FileReader( "testing.txt" ) );
System.out.print(r);
fw.close();
}
}
Run Code Online (Sandbox Code Playgroud)
打印到控制台窗口的唯一内容是java.io.BufferedReader@18fb397.
任何人都可以向像我这样的新手解释这个吗?我的经验很少,但我当然愿意学习.我愿意接受任何建议.提前致谢!
我需要你的建议才能做某事...我想拿用户的输入线,因为我已经在我的程序中使用扫描仪...但我想将每个命令(单词)拆分为令牌....我做不知道怎么做,直到现在我正在玩子字符串,但如果用户例如按两次空格键按钮一切都是错误的!
例如:
请插入一个命令:我今年20岁
使用substring或.split(""),它运行但考虑有:
请插入一个命令:我今年20岁
这就是为什么我需要你的建议......问题是我如何用令牌分割用户的输入.
对于noobish问题很抱歉,但我对正则表达式并不十分热衷.我有几个这样的感官:
text1.2text: text3,,text4 5. text6=== t7@ text8. T, 9-- T10我想用a scanner来返回:
a)单个字符,b)包含字符和数字的字,但是以字符开头.
其他任何东西都可以看作是分隔符.
所以在上面的句子中应该返回这些:
text1
text3
text4
text6
t7
text8
T
T10
Run Code Online (Sandbox Code Playgroud)
我可以在扫描仪"\\.|\\:|\\,|\\,,"等中使用多个分隔符,但它可能是我要提取的单词之间的任何内容,我不知道这是一个非常好的方法来完成它.
是否有正则表达式我可以用作分隔符或者可能scanner.hasNext("regex")用于提取这些单词?
提前致谢
我有一个例子来覆盖toString()方法.
import java.util.Scanner;
public class Demo{
String name = "";
String age = "";
Demo(String name, String age){
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the name:");
String name = scanner.next();
System.out.print("Enter the age:");
String age = scanner.next();
Demo test = new Demo(name, age);
System.out.println(test);
}
public String toString() {
return ("Name=>" + name + " and " + "Age=>" + age);
}
}
Run Code Online (Sandbox Code Playgroud)
我的疑问是,即使从构造函数也不从main调用toString()方法,如何将Name => abc和Age => …
我是一个Java初学者,并已阅读类似的问题,但我仍然不知道为什么我的代码显示FileNotFound异常.我的文件在同一目录中.
我的代码是:
import java.io.*;
import java.util.Scanner;
public class reader {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
double y = in.nextDouble();
float g = in.nextFloat();
String a = in.next();
File file = new File("v.txt");
System.out.println(x + "" + y + "" + g + "" + a);
Scanner inFile = new Scanner(new FileReader(file));
String u = inFile.nextLine();
System.out.println(file.getAbsolutePath());
System.out.println(u);
}
}
Run Code Online (Sandbox Code Playgroud)
错误是:
17: error: unreported exception FileNotFoundException; must be caught or declared …Run Code Online (Sandbox Code Playgroud) 想象一下,Scanner传递任何字符串输入,如"11 22 ab 22",该方法应该计算所有数字的总和(55为提到的例子).我在这里编写了一些内容,但我无法跳过字符串.有人可以帮我吗?
System.out.println("Please enter any words and/or numbers: ");
String kbdInput = kbd.nextLine();
Scanner input = new Scanner(kbdInput);
addNumbers(input);
public static void addNumbers(Scanner input) {
double sum = 0;
while (input.hasNextDouble()) {
double nextNumber = input.nextDouble();
sum += nextNumber;
}
System.out.println("The total sum of the numbers from the file is " + sum);
}
Run Code Online (Sandbox Code Playgroud) 这是我第一次使用Java扫描文件.我正在尝试从一个文本文件中读取整数列表,对它们进行操作,然后将它们读取到另一个文件中.初始文件如下所示:
1234
9876
2345
Run Code Online (Sandbox Code Playgroud)
我正在使用while循环并使用hasNextInt进行读取(在运行程序并检查初始文本文件之后,我确定值已经存在),但是我将零输出到新文本文件,所以我假设hasNextInt ()返回false.可以肯定的是,我只是跳过扫描并使用for循环直接在每个ArrayList元素上操作,输出完全写入新文件.这是我的代码:
try {
File inFile = new File("input.txt");
File outFile = new File("output.txt");
FileWriter inWriter = new FileWriter(inFile);
FileWriter outWriter = new FileWriter(outFile);
Scanner inReader = new Scanner(inFile);
numberArray.add(1234); //Adding numbers to an array that was previously initialized
numberArray.add(9876);
numberArray.add(2345);
System.out.println("The raw numbers are:");
for (int n : numberArray) {
inWriter.write(n + "\r\n");
System.out.println(n);
}
System.out.println("\nThe new numbers are:");
while (inReader.hasNextInt()) {
int newNumber = inReader.nextInt();
int checkDigit = (newNumber / 7);
int finalNumber = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用用户输入将元素添加到ArrayList中。问题是当我尝试添加一些东西并要求将其列出时,它没有显示在列表中。
我以为这是read方法的问题,但是我不确定它是否有任何问题。另一件事是事实,添加元素的方法不在循环中,我尝试使用循环,但仍然无法正常工作。有与具有对参数的构造一部电影类title,year,genre,price和toString方法。
预期结果:添加电影后,它应列出添加的电影。实际结果:add方法要求输入,但是当我使用list方法时,它不会列出我添加的内容。
java ×10
file ×2
arraylist ×1
constructor ×1
regex ×1
text ×1
token ×1
tostring ×1
user-input ×1
while-loop ×1