如何使用JAVA将文本文件中的数字相乘
我正在尝试使用JAVA从文本文件中乘法,但不知道如何实现如何使用JAVA将文本文件中的数字相乘,java,Java,我正在尝试使用JAVA从文本文件中乘法,但不知道如何实现 4 12 4 16 8 14 1 12 8 第一行的第一个数字表示文档中有多少人(第2行“12 4”表示第一个人,“12 8”表示最后一个人) 我试图找到Java如何跳过第1行,读取第2行并将这两个数字相乘,然后对其他行执行相同的操作 谁能解释一下我是怎么做到的 干杯 以下是您需要的所有东西: 要读取文件,请执行以下操作: 要强制转换为整数: 乘法:使用*运算符 假设你是作为家庭作业被分配的,或者你在课堂上没有集中注意力。学习编程的关键
4
12 4
16 8
14 1
12 8
第一行的第一个数字表示文档中有多少人(第2行“12 4”表示第一个人,“12 8”表示最后一个人)
我试图找到Java如何跳过第1行,读取第2行并将这两个数字相乘,然后对其他行执行相同的操作 谁能解释一下我是怎么做到的
干杯 以下是您需要的所有东西:
*
运算符假设你是作为家庭作业被分配的,或者你在课堂上没有集中注意力。学习编程的关键是将任务分解为可管理的任务 在您的情况下,编写一个程序来读取输入文件并回显输出。一旦你做到了这一点,你就是实现这一目标的一部分 接下来,将数字放入整数变量中。这将涉及铸造 然后进行数学运算并输出结果
通过执行小任务,问题变得容易多了。不幸的是,我不太理解您的标准,但您似乎能够理解公式,这就是您所需要的。我建议BufferedReader和FileReader从文件中获取文本。从这里开始,围绕空格解析字符串是个好主意(这里有一个方法),然后可以将它们转换为整数。希望这能让您走上正确的轨道。首先您肯定需要阅读整个编程,因为这应该是您能够回答的基本问题之一 我可以给你一个关于如何做的大概草图:
文件
对象Scanner
类整数
或行
,保存此数字整数
s或行
s- 您的程序是否因输入错误而中断
- 您的程序是否应该在输入错误的情况下继续
在从文档中读取
整数
s或行
s时,您应该考虑这些问题。我发现您在BufferedReader方面有问题。因此,为了避免类型转换的开销,可以考虑使用扫描仪。
就你而言
Scanner scanner = new Scanner ("Path to your file with backslash characters escaped");
int myNumber = scanner.nextInt();
它将直接将文件中的数字分配给变量
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Scanner;
公开课考试{
公共静态void main(字符串[]args)引发FileNotFoundException{
//1.创建扫描仪以读取文件
扫描仪文件=新扫描仪(新文件(“textfile.txt”);
//2.跳过第一行
file.nextLine();
//3.迭代所有数字
while(文件.hasNextInt()){
int hours=file.nextInt();
int wagePerHour=file.nextInt();
//4.将数字对相乘
整数总工资=小时*每小时工资;
//5.用这些数字做点什么
}
}
}
这将跳过第一行,并打印出每行的乘数值。这是假设您将文件作为命令行参数传递
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);
}
}
}
给我们一些努力怎么样。你尝试过什么?即使是新手也可以投入一点工作。谷歌为你服务。使用列表存储从文件读取的数据怎么样。此外,如果元素是固定长度的平面文件,则使用索引进行检索可以帮助您获取位于第n个位置的元素。只是一个建议。@user3071724试着通过。这里也做了类似的事情。跳过第一行似乎不是OP想要的。想象一下,应用程序将来需要做的不是输出数据。然后,如果允许程序解析非指定(超过员工计数输入的数量)输入,则会弹出一个完整的错误数组。“我试图找到Java如何跳过第1行,读取第2行,将这两个数字相乘,然后对其他行执行相同的操作。”我假设这些数字将在它们自己的文件中,特别是因为这看起来很像一个教育作业。对不起,我的错,我还没有读过。虽然现在的答案是OP想要的,但我仍然认为这样做是一种不好的做法。跳过第一行不是一个好方法。这个数字是有原因的,更多信息请参见我在@quantumkayos上的评论。
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);
}
}
}