用java从右侧读取文件

gt0wga4j  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(256)

假设文件 sample.txt 内容是:

1 casual 1 3 5 5
2 casual 5 2 5 3
3 casual 1 5 4 3
4 dress 4 5 4 4
5 athletic 2 4 5 2

现在,我想要的是取最后四个数字,并可能将每个数字与另外四个数字相乘,这四个数字将从用户处获取,如下所示:
取第一行的最后四位数,即1 3 5 5,然后:
input1x1+input2x3+input3x5+input4x5=结果。
有谁能帮我实现这一点,这是我到现在为止写的代码,可以读取文件,然后转换成列表

import java.io.*;
import java.util.*;

public class Main{
public static void main(String[] args) throws FileNotFoundException{

    FileReader n = new FileReader("sample.txt");
    Scanner in = new Scanner(n);

    ArrayList<String> lines = new ArrayList<String>();

    while (in.hasNext()) {
        lines.add(in.nextLine());
    }

    in.close();
    System.out.println(lines.get(1));
    // for (int i = 0; i<lines.size()-1; i++) {
    //     System.out.println(lines.get(i));
    // }

}
}
siv3szwd

siv3szwd1#

for(int i = 0; i < lines.size() - 1; i++) {
  String line = lines.get(i);
  String[] parts = line.split(" ");
  int result = 0;
  result += Integer.parseInt(parts[2]) * 1;
  result += Integer.parseInt(parts[3]) * 3;
  result += Integer.parseInt(parts[4]) * 5;
  result += Integer.parseInt(parts[5]) * 5;
  System.out.println(line + " -> " + result);
}
fae0ux8s

fae0ux8s2#

运行上述代码后,将从用户处获取4个整数,并将它们与文件编号相乘

Scanner sc = new Scanner(System.in);
    for(int i = 0; i < lines.size(); i++) {

          String[] number = lines.get(i).split(" ");
          int result = 0;
          for (int x=2;x<=5;x++) {
          result += Integer.parseInt(number[x]) * sc.nextInt();
          }

          System.out.println(result);
        }

相关问题