Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Oct 2014
    Bài viết
    0

    [Cơ bản + đọc file txt] Giúp mình tìm lỗi code.

    bài tập về nhà của mình "hiển thị thông tin sinh viên dữ liệu được lấy từ file txt". dưới đây là code của mình.


    Mã:
    package studentlist;
     
     
     
     
     
     
     
     
     
    import java.io.bufferedreader;
     
    import java.io.file;
     
    import java.io.filenotfoundexception;
     
    import java.io.filereader;
     
    import java.io.ioexception;
     
    import java.util.arraylist;
     
    import java.util.scanner;
     
     
     
     
     
     
     
     
     
    public class studenttest {
     
    public static void main(string [] args){
     
    int test = 1;
     
    string temp = "";
     
    arraylist<list> studentlist = new arraylist<>();
     
    file file = new file("studentlist.txt");
     
    try {
     
    filereader fr = new filereader(file);
     
    bufferedreader br = new bufferedreader(fr);
     
    while(test == 1){
     
    list x = new list();
     
    string names = br.readline();
     
    string age = br.readline();
     
    string adds = br.readline();
     
    string scores=br.readline();
     
    int ages = integer.parseint(age);
     
    int scoress = integer.parseint(scores);
     
    x.setname(names);
     
    x.setage(ages);
     
    x.setadd(adds);
     
    x.setscores(scoress);
     
    studentlist.add(x);
     
    if((temp=br.readline()) == null){
     
    break;
     
    }
     
    }
     
    for(int i = 0; i <studentlist.size(); i++){
     
    system.out.println(studentlist.get(i).getname() +"		   "+studentlist.get(i).getage()+"		   "+studentlist.get(i).getadd()+"		   "+studentlist.get(i).getscores());
     
    }
     
    } catch (filenotfoundexception e) {
     
    system.out.println("erorr");
     
    e.printstacktrace();
     
    } catch (ioexception e) {
     
    system.out.println("error");
     
    e.printstacktrace();
     
    }
     
     
     
    }
     
    }
    và:


    Mã:
    package studentlist;
     
     
     
     
    import java.io.bufferedreader;
    import java.io.file;
    import java.io.filenotfoundexception;
    import java.io.filereader;
    import java.io.ioexception;
    import java.util.arraylist;
    import java.util.scanner;
     
     
     
     
    public class studenttest {
    public static void main(string [] args){
    int test = 1;
    string temp = "";
    arraylist<list> studentlist = new arraylist<>();
    file file = new file("studentlist.txt");
    try {
    filereader fr = new filereader(file);
    bufferedreader br = new bufferedreader(fr);
    while(test == 1){
    list x = new list();
    string names = br.readline();
    string age = br.readline();
    string adds = br.readline();
    string scores=br.readline();
    int ages = integer.parseint(age);
    int scoress = integer.parseint(scores);
    x.setname(names);
    x.setage(ages);
    x.setadd(adds);
    x.setscores(scoress);
    studentlist.add(x);
    if((temp=br.readline()) == null){
    break;
    }
    }
    for(int i = 0; i <studentlist.size(); i++){
    system.out.println(studentlist.get(i).getname() +"		   "+studentlist.get(i).getage()+"		   "+studentlist.get(i).getadd()+"		   "+studentlist.get(i).getscores());
    }
    } catch (filenotfoundexception e) {
    system.out.println("erorr");
    e.printstacktrace();
    } catch (ioexception e) {
    system.out.println("error");
    e.printstacktrace();
    }
     
    }
    }
    đây là tệp của mình:


    Mã:
    pham trong nhan
    19
    hai phong, viet nam
    8
    ha minh chinh
    20
    thanh hoa, viet nam
    5
    doan nhu quynh
    19
    nam dinh, viet nam
    7
    mình chạy thì báo lỗi. các bạn có thể xem hộ mình. kiến thức của mình còn hạn hẹp.

  2. #2
    Ngày tham gia
    Feb 2015
    Bài viết
    0
    up.

  3. #3
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    Trích dẫn Gửi bởi quynhj
    up.
    em chưa tạo đối tượng "list" để khai báo cho mảng "arraylist<list> studentlist = new arraylist<>()";

  4. #4
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    Trích dẫn Gửi bởi trungma
    em chưa tạo đối tượng "list" để khai báo cho mảng "arraylist<list> studentlist = new arraylist<>()";
    đây là class list của em


    Mã:
    package studentlist;
     
     
     
     
    public class list {
    public string name;
    public string add;
    public int age;
    public int scores;
    public string getname() {
    return name;
    }
    public void setname(string name) {
    this.name = name;
    }
    public string getadd() {
    return add;
    }
    public void setadd(string add) {
    this.add = add;
    }
    public int getage() {
    return age;
    }
    public void setage(int age) {
    this.age = age;
    }
    public int getscores() {
    return scores;
    }
    public void setscores(int scores) {
    this.scores = scores;
    }
     
     
     
     
    }
    anh em lại hộ em với được không?

  5. #5
    Ngày tham gia
    Sep 2014
    Bài viết
    0
    em để phần thoát vòng lặp sau biến names thì sẽ được

    Mã nguồn PHP:
    [color=#000000]
    [/color][color=#007700]while([/color][color=#0000bb]test [/color][color=#007700]== [/color][color=#0000bb]1[/color][color=#007700]){list [/color][color=#0000bb]x [/color][color=#007700]= new list();[/color][color=#0000bb]string names [/color][color=#007700]= [/color][color=#0000bb]br[/color][color=#007700].[/color][color=#0000bb]readline[/color][color=#007700]();if([/color][color=#0000bb]names [/color][color=#007700]== [/color][color=#0000bb]null[/color][color=#007700]){break;}[/color] 
    nó mắc lỗi đến vòng lặp cuối dữ liệu là null . trong khi đó lại lại chuyển từ dữ liệu null sang interger nên nó báo lỗi. mà lại không phải chạy mấy dòng lệnh thừa
    dùng luôn biến "names" kiểm tra không phải khai báo thêm biến tối ưu trương trình hơn.
    một chú ý nữa là file dữ liệu "studentlist.txt", em có để cùng thư mục không nếu không thì nên chọn đường dẫn tuyệt đối cho nó như anh để ở ổ e nên đoạn code anh khai báo.

    Mã nguồn PHP:
    [color=#000000]
    file file [/color][color=#007700]= new [/color][color=#0000bb]file[/color][color=#007700]([/color][color=#dd0000]"e:\\studentlist.txt"[/color][color=#007700]);[/color] 
    . trong file txt này chú ý khi em đánh dữ liệu cho "age,scores" nhớ là phải enter xuống dòng không được dùng space vì nếu có space khi chuyển từ kiểu string sang interger sẽ thông báo lỗi.
    đấy là một số điều anh tìm hiểu được, do mới học java, mà tự học nên chỉ được thế thôi, nếu em có sáng kiến hay được ai chỉ cách sử lý hay hơn cho bài này post nên cho anh cùng xem với nhé.

  6. #6
    Ngày tham gia
    Jul 2015
    Bài viết
    0
    ôi em làm được rồi anh à? cảm ơn anh nhiều :'( đúng là em bị lỗi từ file txt :'(

  7. #7
    Ngày tham gia
    Mar 2014
    Bài viết
    0
    lỗi không tìm thấy file hay gi mới được chứ, code giống trên không

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •