我试图使用JAVA将文本文件中的数字相乘,但不知道如何。
4
12 4
16 8
14 1
12 8
第一行的第一个数字表示文档中有多少人(第2行和第34行; 12 4&#34;是第一个人&#34; 12 8&#34;是最后一个。)< / p>
4 (number of employees)
32 (hours employees have worked) 8 (wage per hour)
38 6
38 6
16 7
我试图找到Java如何跳过第1行,读取第2行并将这两个数相乘,然后对其他行执行相同操作。
任何人都可以解释我怎么做到这一点?
干杯!
答案 0 :(得分:3)
以下是您需要的所有内容:
*
运算符答案 1 :(得分:1)
假设您已将此作为家庭作业的任务,而您在课堂上没有注意到。学习编程的关键是将任务分解为可管理的任务。
在您的情况下,编写一个程序来读取输入文件并回显输出。一旦你拥有了它,你就是那里的一部分。
接下来,将数字放入整数变量中。这将涉及投射。
然后执行该数学计算并吐出输出。
通过执行小任务,问题变得更加容易。
答案 2 :(得分:1)
遗憾的是,我并不真正理解你的标准,但你似乎能够理解这个公式,而这正是你所需要的。我建议使用BufferedReader和FileReader从文件中获取文本。从那里,开始在空格周围解析你的字符串是一个好主意(有一个方法),然后你可以将它们转换为整数。希望这能让你走上正轨。
答案 3 :(得分:1)
你一开始肯定需要阅读整个编程,因为这应该是你应该能够回答的基本问题之一。
我可以给你一个关于如何做的粗略草图:
File
对象。Scanner
类。Integer
或Line
,保存此号码。Integer
或Line
s。您可能还想查看其他一些问题:
在阅读文档中的Integer
或Line
时,您应该考虑这些事项。
答案 4 :(得分:1)
我发现你遇到了 BufferedReader 的问题。因此,为了避免类型转换的开销,您可以考虑使用 Scanner 。 在你的情况下,
Scanner scanner = new Scanner ("Path to your file with backslash characters escaped");
int myNumber = scanner.nextInt();
它会直接将文件中的数字分配给您的变量。
答案 5 :(得分:1)
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws FileNotFoundException {
// 1. Create a scanner to read the file
Scanner file = new Scanner(new File("textfile.txt"));
// 2. Skip the first line
file.nextLine();
// 3. Iterate over all the numbers
while(file.hasNextInt()) {
int hours = file.nextInt();
int wagePerHour = file.nextInt();
// 4. Multiply number pairs
int totalWage = hours * wagePerHour;
// 5. Do something with those numbers
<do something with the numbers>
}
}
}
答案 6 :(得分:1)
这将跳过第一行并打印出每个后续行的相乘值。这假设您将文件作为命令行参数传递。
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Multiply{
public static void main(String[] args) throws FileNotFoundException{
File file = new File(args[0]);
Scanner sc = new Scanner(file);
// skip the first line
sc.nextLine();
int num_people;
int hours;
int total;
while(sc.hasNext()){
num_people = sc.nextInt();
hours = sc.nextInt();
total = num_people * hours;
System.out.println(total);
}
}
}