拆分字符串类型并放入循环中的新数组

塞霍伊
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;

public class gTextFile {

    static LinkedList<gText> list = new LinkedList<gText>();

    public static void main(String[] args) throws FileNotFoundException {
        Scanner scnOne = new Scanner(System.in);

        String eCode;

        System.out.print("Employee Code: ");
        eCode = scnOne.nextLine();

        readFile();
        gEmpName("eCode");
    }

    public static void readFile() throws FileNotFoundException {
        File nFile = new File("C:\\JAVAP\\GetTextFile\\employee.txt");
        Scanner scnTwo = new Scanner(nFile);
        String oTemp;
            while(scnTwo.hasNext()) {
            oTemp = scnTwo.next();
            String EmCode[] = oTemp.split(" ");
            String Name[] = EmCode[1].split(",");
            String idCode = EmCode[0];
            String lastname = Name[0];
            String firstname = Name[1];
            //System.out.println("FName " + firstname);
            //System.out.println("LName " + lastname);
            gText gT = new gText(firstname, lastname, idCode);
            list.add(gT);
            }
        scnTwo.close();
    }

    public static void gEmpName(String EmpCode) {
        Iterator<gText> itr = list.iterator();
        while(itr.hasNext()) {
            gText gT = itr.next();
            if(gT.id.equals(EmpCode)){
                System.out.println("Employee Name: " + gT.Fname + " " + gT.Lname);
            }

        }

    }

}

public class gText {
String Fname;
String Lname;
String id;

    gText(String First, String Last, String ID) {
        this.Fname = First;
        this.Lname = Last;
        this.id = ID;

    }

    public String gFName() {
        return Fname;
    }

    public String gLName() {
        return Lname;
    }

    public String gId() {
        return id;
    }

}

文本文件

我的代码有什么问题?当我运行程序时,特定的代码没有显示出来。总是说有问题。当我输入员工代码时,这总是会在控制台中显示出来。员工代码:A11-0001线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:gTextFile.readFile(gTextFile.java:28)处为1,gTextFile.main(gTextFile.java:17)处为1

普拉泰克·托马尔(Prateek Tomar)

方法中使用oTemp = scnTwo.nextLine();而不是使用时,您所获得的只是第一个空格之前的内容,在您的情况下,仅是员工代码,因此用于获取完整行。有关之间的区别的更多说明,请参见下面的链接oTemp = scnTwo.next();readFile()next()nextLine()next()nextLine()

Scanner类的next()和nextLine()方法之间有什么区别?

另外,您可能希望使用gEmpName(eCode);而不是gEmpName("eCode");

以下是代码:

public class gTextFile {

static LinkedList<gText> list = new LinkedList<gText>();

public static void main(String[] args) throws FileNotFoundException {
    Scanner scnOne = new Scanner(System.in);

    String eCode;

    System.out.print("Employee Code: ");
    eCode = scnOne.nextLine();

    readFile();
    gEmpName(eCode);
}

public static void readFile() throws FileNotFoundException {
    File nFile = new File("/home/path/abc.txt");
    Scanner scnTwo = new Scanner(nFile);
    String oTemp;
        while(scnTwo.hasNext()) {
        oTemp = scnTwo.nextLine();
        String EmCode[] = oTemp.split(" ");
        String Name[] = EmCode[1].split(",");
        String idCode = EmCode[0];
        String lastname = Name[0];
        String firstname = Name[1];
        gText gT = new gText(firstname, lastname, idCode);
        list.add(gT);
        }
    scnTwo.close();
}

public static void gEmpName(String EmpCode) {
    Iterator<gText> itr = list.iterator();
    while(itr.hasNext()) {
        gText gT = itr.next();
        if(gT.id.equals(EmpCode)){
            System.out.println("Employee Name: " + gT.Fname + " " + gT.Lname);
        }

    }

}

}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一维字符串数组放入循环中?

来自分类Dev

字符串与数组在循环中的比较

来自分类Dev

C#,如何在foreach循环中将字符串拆分到新行?

来自分类Dev

循环从数组拆分的字符串

来自分类Dev

在数字处拆分字符串并放入数组,rails

来自分类Dev

为什么“ for..in”循环中的数字数组索引的类型被认为是字符串?

来自分类Dev

在for循环中将字符串类型转换为Int

来自分类Dev

字符串数组:在循环中添加元素

来自分类Dev

循环中的Java字符串数组作用域

来自分类Dev

在 bash 的 for 循环中读取字符串数组

来自分类Dev

字符串数组不会在for循环中添加字符串

来自分类Dev

正则表达式拆分字符串并将括号中的内容[]放入数组

来自分类Dev

查询字符串如何拆分或定界并将这些值放入数组并显示它们

来自分类Dev

将字符串拆分为标记并将标记放入数组 - strtok

来自分类Dev

如何将字符串拆分为多个部分以在循环中填充字典

来自分类Dev

从数组中取出随机字符串,将其放入新数组中,然后稍后再放入旧数组中

来自分类Dev

将数组值放入字符串

来自分类Dev

分隔字符串并放入数组

来自分类Dev

Matlab:比较for循环中的字符串

来自分类Dev

在.each循环中串联字符串

来自分类Dev

bash循环中的字符串长度

来自分类Dev

嵌套的for循环中的字符串匹配

来自分类Dev

嵌套 for 循环中的字符串操作

来自分类Dev

for 循环中的字符串编辑

来自分类Dev

在循环中添加输出/字符串

来自分类Dev

返回在 for 循环中创建的字符串

来自分类Dev

如何在循环中访问字符串数组以根据需要将字符串存储到数组中

来自分类Dev

for 循环字符串数组

来自分类Dev

拆分字符串并循环遍历变量

Related 相关文章

  1. 1

    如何将一维字符串数组放入循环中?

  2. 2

    字符串与数组在循环中的比较

  3. 3

    C#,如何在foreach循环中将字符串拆分到新行?

  4. 4

    循环从数组拆分的字符串

  5. 5

    在数字处拆分字符串并放入数组,rails

  6. 6

    为什么“ for..in”循环中的数字数组索引的类型被认为是字符串?

  7. 7

    在for循环中将字符串类型转换为Int

  8. 8

    字符串数组:在循环中添加元素

  9. 9

    循环中的Java字符串数组作用域

  10. 10

    在 bash 的 for 循环中读取字符串数组

  11. 11

    字符串数组不会在for循环中添加字符串

  12. 12

    正则表达式拆分字符串并将括号中的内容[]放入数组

  13. 13

    查询字符串如何拆分或定界并将这些值放入数组并显示它们

  14. 14

    将字符串拆分为标记并将标记放入数组 - strtok

  15. 15

    如何将字符串拆分为多个部分以在循环中填充字典

  16. 16

    从数组中取出随机字符串,将其放入新数组中,然后稍后再放入旧数组中

  17. 17

    将数组值放入字符串

  18. 18

    分隔字符串并放入数组

  19. 19

    Matlab:比较for循环中的字符串

  20. 20

    在.each循环中串联字符串

  21. 21

    bash循环中的字符串长度

  22. 22

    嵌套的for循环中的字符串匹配

  23. 23

    嵌套 for 循环中的字符串操作

  24. 24

    for 循环中的字符串编辑

  25. 25

    在循环中添加输出/字符串

  26. 26

    返回在 for 循环中创建的字符串

  27. 27

    如何在循环中访问字符串数组以根据需要将字符串存储到数组中

  28. 28

    for 循环字符串数组

  29. 29

    拆分字符串并循环遍历变量

热门标签

归档