我需要帮助从输入文件中提取一个带有空格的字符串

benterbot2004

我正在制作一个程序,该程序从输入文件中获取学生记录,并将其存储在arraylist中。我正在获取学生证,姓名和三个考试成绩。每个项目均由标签分开。我需要帮助将学生姓名一并列出。如果我这样运行它会搞砸,因为某些名称具有姓氏,名字和中间的缩写。为了详细说明我的主要问题,我正在尝试从文件中提取名称IE JA Singleton并将其放入我的arraylist中。我只是先获取名字,然后获取姓氏,然后将它们放在一起,但这并不总是可行的,因为其中有些需要抓住三个不同的东西,例如上面的示例。由于文件中名称的前后都有一个制表符,因此是否有办法只获取整个名称?

公共班级主要{

public static void main(String[] args) throws Exception {
    String stdID;
    int tScore1;
    int tScore2;
    int tScore3;
    String sName;
    String fName;
    String lName;
    Students workobj;
    try{
        //opening the file for input
        FileInputStream istream = new FileInputStream("input.txt");
        Scanner input = new Scanner(istream);
        //creating an arraylist to store student objects
        ArrayList<Students> AllStudents= new ArrayList<Students>();

        while(input.hasNextLine()){

            //first I will read the student id
            stdID=input.next();
            //remove later
            System.out.println("stdEcho "+ stdID);
            //next I will read the student name
            fName= input.next();
            lName=input.next();

            sName=(fName+lName);
            //remove later
            System.out.println("NameEcho " + sName);
            //next read in the test scores
            tScore1=input.nextInt();
            //remove later
            System.out.println("Test01Echo " +tScore1);
            tScore2=input.nextInt();
            //remove later
            System.out.println("Test02Echo " +tScore2);
            tScore3=input.nextInt();
            //remove later
            System.out.println("Test03Echo " +tScore3);



            //printing the record
            System.out.println("Student ID: "+stdID + " Student Name: " + sName + " Test Score 1: " +tScore1
            + " Test Score 2: " + tScore2 + " Test Score 3: " + tScore3);
            output.println("Student ID: "+stdID + " Student Name: " + sName + " Test Score 1: " +tScore1
                    + " Test Score 2: " + tScore2 + " Test Score 3: " + tScore3);
            //creating a student object
            Students StudentRecord= new Students(stdID,sName,tScore1,tScore2,tScore3);
            StudentRecord.listStudents();
            //now store this in allstudents
            AllStudents.add(StudentRecord);
        }//end of while
        //Now I will list the records
        System.out.println("Getting Students from AllStudents Container");
        for(int i=0;i<=AllStudents.size()-1;i++){
            //retrieving the object
            workobj=AllStudents.get(i);
            workobj.listStudents();
        }//end of for
        System.out.println("This is the sorted values of Students from the AllStudents container");
        sortLarge(AllStudents);
        for(int i=0; i<=AllStudents.size()-1;i++){
            workobj=AllStudents.get(i);
            workobj.listStudents();
        }

    }//end of try

        catch (FileNotFoundException e){
            System.out.println("file not found");
            System.err.println("File not found");
            System.exit(11);
    }// end catch
            catch (InputMismatchException e){
                System.out.println("Error in Reading File");
                System.err.println("Error in Reading File");
                System.exit(10);
            }
    finally {
        output.close();
        System.exit(2);
    }
}
瓦卡斯·艾哈迈德(Waqas Ahmed)

使用String类拆分函数,例如S.split(“ \ t”); 这将从基于选项卡分隔的源返回字符串数组。您可以在https://docs.oracle.com/javase/7/docs/api/java/lang/String.html上了解有关此内容的代码。试试,从文件文件名获取学生记录的函数作为参数传递。确保在ID,名称和每个得分之间都有一个制表符。

// Create list of All Records
    public ArrayList<Students> getStudents(String fileName) throws Exception
    {
        System.out.println("2: Please Wait ....  ");
        String stdID;
        int tScore1;
        int tScore2;
        int tScore3;
        String sName;
        //reading from "input.txt"
        File data=new File(fileName);
        FileReader reader=new FileReader(data.getAbsoluteFile());
        BufferedReader breader= new BufferedReader(reader);

        String eachrow;
        ArrayList<Students> AllStudents= new ArrayList<Students>();
        while((eachrow = breader.readLine()) != null)
        {
            String []r = eachrow.split("\t")
                stdID = r[0];
                sName = r[1];
                tScore1 = r[2];
                tScore2 = r[3];
                tScore3 = r[4];
                //creating a student object
                Students StudentRecord= new Students(stdID,sName,tScore1,tScore2,tScore3);
                StudentRecord.listStudents();
                //now store this in allstudents
                AllStudents.add(StudentRecord);
        }

        System.out.println("Student Records are Created Successfully.");
        System.out.println("-----------------------------------------------------------------");
        return AllStudents;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从字符串输入中制作一个带有空格的单独单词列表

来自分类Dev

如何从文件中读取一个带有空格的字符串的不同变量

来自分类Dev

回显一个包含在.bat文件中带有空格的字符串的变量

来自分类Dev

在Perl Regex中提取带有空格的字符串

来自分类Dev

Javascript 反引号字符串插值创建一个带有空格的 URL

来自分类Dev

从文件中读取带有空格的字符串

来自分类Dev

测试一个字符串是否只有一个字符,中间的REGEX是否带有空格

来自分类Dev

如何在Objective-C的另一个字符串中搜索带有空格的字符串?

来自分类Dev

从字符串中提取网址,中间没有空格

来自分类Dev

提取带有空格后跟字符串或行尾的文本

来自分类Dev

从字符串中提取最后一个单词

来自分类Dev

从字符串中提取一个或多个模式

来自分类Dev

从字符串中提取一个单词

来自分类Dev

需要帮助查找错误,如果字符串输入由所有相同字符组成,则一个输出字符已损坏

来自分类Dev

如何将一个大字符串合并为一个单词之间没有空格的字符串?

来自分类Dev

我如何制作一个脚本,该文件会带有空格的awk .txt文件读取.csv?

来自分类Dev

在我输入的TextField的字符串中添加一个空格

来自分类Dev

带有空格和特殊字符的批处理文件 CURL 字符串

来自分类Dev

PHP:如何从指定的索引中提取子字符串,直到下一个空格或行尾

来自分类Dev

使用 R 从重复出现的单词中提取字符串到第一个空格

来自分类Dev

当一个部分可以有空格时,如何将字符串解析为多个变量?

来自分类Dev

带有空格的javascript警报php字符串

来自分类Dev

带有空格的PostgreSQL子字符串模式

来自分类Dev

从括号内的字符串中提取子字符串,其中子字符串可能有空格

来自分类Dev

由于输入字符串中有空格,导致批处理文件错误

来自分类Dev

MySQL选择带有可变空格的字符串中最后一个空格左边的所有内容

来自分类Dev

使用jQuery,我需要根据输入值创建一个定界字符串

来自分类Dev

使用jQuery,我需要根据输入值创建一个定界字符串

来自分类Dev

我需要一个正则表达式,它只接受一个字符串(仅包含字母和数字),并且在开始和结尾处都允许有空格,但不能在两者之间插入空格?

Related 相关文章

  1. 1

    从字符串输入中制作一个带有空格的单独单词列表

  2. 2

    如何从文件中读取一个带有空格的字符串的不同变量

  3. 3

    回显一个包含在.bat文件中带有空格的字符串的变量

  4. 4

    在Perl Regex中提取带有空格的字符串

  5. 5

    Javascript 反引号字符串插值创建一个带有空格的 URL

  6. 6

    从文件中读取带有空格的字符串

  7. 7

    测试一个字符串是否只有一个字符,中间的REGEX是否带有空格

  8. 8

    如何在Objective-C的另一个字符串中搜索带有空格的字符串?

  9. 9

    从字符串中提取网址,中间没有空格

  10. 10

    提取带有空格后跟字符串或行尾的文本

  11. 11

    从字符串中提取最后一个单词

  12. 12

    从字符串中提取一个或多个模式

  13. 13

    从字符串中提取一个单词

  14. 14

    需要帮助查找错误,如果字符串输入由所有相同字符组成,则一个输出字符已损坏

  15. 15

    如何将一个大字符串合并为一个单词之间没有空格的字符串?

  16. 16

    我如何制作一个脚本,该文件会带有空格的awk .txt文件读取.csv?

  17. 17

    在我输入的TextField的字符串中添加一个空格

  18. 18

    带有空格和特殊字符的批处理文件 CURL 字符串

  19. 19

    PHP:如何从指定的索引中提取子字符串,直到下一个空格或行尾

  20. 20

    使用 R 从重复出现的单词中提取字符串到第一个空格

  21. 21

    当一个部分可以有空格时,如何将字符串解析为多个变量?

  22. 22

    带有空格的javascript警报php字符串

  23. 23

    带有空格的PostgreSQL子字符串模式

  24. 24

    从括号内的字符串中提取子字符串,其中子字符串可能有空格

  25. 25

    由于输入字符串中有空格,导致批处理文件错误

  26. 26

    MySQL选择带有可变空格的字符串中最后一个空格左边的所有内容

  27. 27

    使用jQuery,我需要根据输入值创建一个定界字符串

  28. 28

    使用jQuery,我需要根据输入值创建一个定界字符串

  29. 29

    我需要一个正则表达式,它只接受一个字符串(仅包含字母和数字),并且在开始和结尾处都允许有空格,但不能在两者之间插入空格?

热门标签

归档