gpt4 book ai didi

java - java中如何分割文件中的数字?

转载 作者:行者123 更新时间:2023-12-02 06:39:50 25 4
gpt4 key购买 nike

如果你有一个文件,第一行是数据集的数量,其余的是两个整数,你必须相乘并输出,你会怎么做?

The file is
9
10 2
11 1
8 2
7 9
-1 10
3 9
6 3
18 2
7 3
And the output is supposed to be
20
11
16
63
-10
27
18
36
21

(注意这是在java中,如果输入中的第一个数字改变,输出的数字也会随之改变,并且这些数字应该与其他数字互换)

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Basic_Attempt {

public static void main(String[] args) {

// Location of file to read
File file = new File("data.txt");

try {

Scanner scanner = new Scanner(file);

while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}

我可能使用了太多代码,甚至只是简单地模仿文件,但我需要知道如何实际将扫描仪输入拆分为数组,以及如何检查每行中的内容。 java 有没有办法做到这一点?

最佳答案

检查下面的代码:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

class Test{

public static void main(String args[]){
Integer[] test = getData("file1.jt");
for(Integer t: test){
System.out.println(t);
}
}

public static Integer[] getData(String pathtofile){
BufferedReader br = null;
Integer[] ret = null;
try {
String sCurrentLine;
Integer totNumber;
br = new BufferedReader(new FileReader(pathtofile));
totNumber = Integer.parseInt(br.readLine());

if(totNumber > 0){
ret = new Integer[totNumber];
for(int i=0;i<totNumber;i++){
if(((sCurrentLine = br.readLine()) != null)){
String[] pieces = sCurrentLine.split(" ");
if(pieces.length==2){
ret[i] = Integer.parseInt(pieces[0]) * Integer.parseInt(pieces[1]);
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e){
e.printStackTrace();
} finally {
try {
if (br != null) br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
return ret;
}
}

关于java - java中如何分割文件中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19263050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com