Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中从右侧读取文件_Java_File_Arraylist - Fatal编程技术网

在java中从右侧读取文件

在java中从右侧读取文件,java,file,arraylist,Java,File,Arraylist,假设文件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=结果 有谁能帮我实现这一点吗?这是我迄今为止编写的代码,它可以读取文件,然后

假设文件
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));
    // }

}
}
import java.io.*;
导入java.util.*;
公共班机{
公共静态void main(字符串[]args)引发FileNotFoundException{
FileReader n=新的FileReader(“sample.txt”);
扫描仪输入=新扫描仪(n);
ArrayList行=新的ArrayList();
while(在.hasNext()中){
line.add(in.nextLine());
}
in.close();
System.out.println(lines.get(1));
//for(int i=0;i
for(int i=0;i”+结果);
}

运行上述代码后,将从用户处获取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);
        }
Scanner sc=新扫描仪(System.in);
对于(int i=0;ifor(intx=2;xOkayyy..触感很好。谢谢.:)当然,我的荣幸。为什么要让for循环持续到*lines.size()-1*而不仅仅是*lines.size())*不知道,我只是从问题中复制了代码。可能要跳过一个空的尾随行。用户的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);
        }