Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Giúp đỡ tạo menu sử dụng switch case

    Các bác giúp em với, thầy nói nó giống C++ nên ko hướng dẫn à.
    Mà mình làm theo ko được.

    Mã:
    package NhatThanh;import java.util.Scanner;public class Mang {    public static void Capnhat(int[] a,int n){        Scanner in=new Scanner(System.in);        for(int i=1;i<=n;i++){            System.out.print("a["+i+"]=");            a[i]=in.nextInt();        }    }    public static  void Hienthi(int[] a,int n){        for (int i=1;i<=n;i++)        System.out.print("\t"+a[i]);    }    public static void main(String[] args){    Scanner in=new Scanner(System.in);    System.out.print("Nhập số phần tử n: ");    int n=in.nextInt();    int chon;    do    {      System.out.println("1. Nhập");      System.out.println("2. Hiển thị ");      System.out.println("3. Sắp xếp tăng dần");      System.out.println("4. Sắp xếp giảm dần");      System.out.println("5. Hiển thị số nguyên tố");      System.out.println("6. Sắp xếp theo chẵn trước lẻ sau");      System.out.println("7. Loại bỏ các phần tử âm");      System.out.println("8. Loại bỏ các phần tử trùng nhau");      System.out.println("9. Exit");      System.out.println("____________________________");      System.out.println("Mời chọn : ");      chon=in.nextInt();     switch(chon)     {    case 1:Capnhat();break; // lỗi        case 2:Hienthi();break;  // lỗi        case 9:{            System.out.println("Ðã thoát!");            System.exit(0);        }     }   }    while(chon!=0);}}
    Có báo lỗi ở case 1, case 2
    Cám ơn các bác nhiều

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    case 1:Capnhat();break; // lỗi Truyền tham số cho hàm không có truyền        case 2:Hienthi();break;  // lỗi truyền tham số cho hàm không có truyền
    Bạn ơi hai cái này không có đối số truyền vào cho hàm này, mà khi làm cùng với hàm static thì bạn cho Tên của lớp để truy xuất nó như Mang.Hienthi(a, n);, tại static function không có biến this giống các hàm thông thường. mặt khác Mình cũng không thấy trong main của bạn khai báo mảng bạn xem lại đi, mình nghĩ là khi biên dịch thì chương trình IDE sẽ báo lỗi này mà, bạn không đọc sao. Mà dùng switch case trong case cũng không cần cặp ngoặc nhọn đâu, bỏ đi chương trình sẽ nhanh hơn vì đằng nào trình biên dịch cũng sẽ tối ưu lại cho bạn giống như việc các biểu thức sẽ được chuyển về dạng hâu tố để loại bỏ dấu ngoặc đi.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bác ơi em đã thay thế = 2 cái này

    Mã:
    case 1:Mang.Capnhat(int[] a,int n);break;    //case 1:Mang.Capnhat(int[] a,int n);break;
    Vẫn bị báo lỗi khi chạy à

    Mã:
    run:Nhập số phần tử n: 11. Nhập2. Hiển thị 3. Sắp xếp tăng dần4. Sắp xếp giảm dần5. Hiển thị số nguyên tố6. Sắp xếp theo chẵn trước lẻ sau7. Loại bỏ các phần tử âm8. Loại bỏ các phần tử trùng nhau9. Exit____________________________Mời chọn : 1Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: NhatThanh.Mang.Capnhat    at NhatThanh.Mang.main(Mang.java:36)Java Result: 1BUILD SUCCESSFUL (total time: 5 seconds)

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi hongle516
    Bác ơi em đã thay thế = 2 cái này

    Mã:
    case 1:Mang.Capnhat(int[] a,int n);break;    //case 1:Mang.Capnhat(int[] a,int n);break;
    Vẫn bị báo lỗi khi chạy à

    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: NhatThanh.Mang.Capnhat
    at NhatThanh.Mang.main(Mang.java:36)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 5 seconds)
    [/CODE]
    bạn truyền tham số vào cho hàm sai cú pháp mất rồi sửa lại đi ở trên bài viết mình cũng có demo cách truyền vào hàm Hienthi rồi mà, thế này nhé

    Mã:
    case 1:Mang.Capnhat(a, n);break;    //case 1:Mang.Capnhat(a, n);break;

  5. #5
    Mã:
    package NhatThanh;import java.util.Scanner;public class Mang {    public static void Capnhat(int[] a,int n){        Scanner in=new Scanner(System.in);        System.out.print("Nhập số phần tử n: ");        n=in.nextInt();        for(int i=1;i<=n;i++){            System.out.print("a["+i+"]=");            a[i]=in.nextInt();        }    }    public static  void Hienthi(int[] a,int n){        for (int i=1;i<=n;i++)        System.out.print("\t"+a[i]);    }    public static void main(String[] args){        Scanner in=new Scanner(System.in);        int chon;        do        {          System.out.println("1. Nhập");          System.out.println("2. Hiển thị ");          System.out.println("3. Sắp xếp tăng dần");          System.out.println("4. Sắp xếp giảm dần");          System.out.println("5. Hiển thị số nguyên tố");          System.out.println("6. Sắp xếp theo chẵn trước lẻ sau");          System.out.println("7. Loại bỏ các phần tử âm");          System.out.println("8. Loại bỏ các phần tử trùng nhau");          System.out.println("9. Exit");          System.out.println("____________________________");          System.out.print("Mời chọn : ");          chon=in.nextInt();         switch(chon)         {            case 1:Mang.Capnhat(a,n);break;            //case 1:Mang.Capnhat(int[] a,int n);break;            //case 2:Hienthi();break;            case 9:System.out.println("Ðã thoát!");System.exit(0);         }       }        while(chon!=0);}}
    Nó vẫn báo lỗi bạn ạ.

    Mã:
    run:1. Nhập2. Hiển thị 3. Sắp xếp tăng dần4. Sắp xếp giảm dần5. Hiển thị số nguyên tố6. Sắp xếp theo chẵn trước lẻ sau7. Loại bỏ các phần tử âm8. Loại bỏ các phần tử trùng nhau9. Exit____________________________Mời chọn : 1Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: <any>    at NhatThanh.Mang.main(Mang.java:38)Java Result: 1BUILD SUCCESSFUL (total time: 2 seconds)
    Lỗi ở dòng ấy

    Mã:
    cannot find symbol  symbol:   variable a  location: class Mang cannot find symbol  symbol:   variable n  location: class Mang

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    import java.util.Scanner; public class Mang {    private static int n, a[];    public static void Capnhat() {        Scanner in = new Scanner(System.in);        System.out.print("Nhập vào số phần tử mảng:");        Mang.n = in.nextInt();        Mang.a = new int[n];        for (int i = 0; i < n; i++) {            System.out.print("a[" + i + "]=");            Mang.a[i] = in.nextInt();        }    }     public static void Hienthi() {        for (int i = 0; i < n; i++) {            System.out.print("\t" + Mang.a[i]);        }        System.out.println();    }     public static void main(String[] args) {        Scanner in = new Scanner(System.in);        int chon;        do {            System.out.println("1. Nhập");            System.out.println("2. Hiển thị ");            System.out.println("3. Sắp xếp tăng dần");            System.out.println("4. Sắp xếp giảm dần");            System.out.println("5. Hiển thị số nguyên tố");            System.out.println("6. Sắp xếp theo chẵn trước lẻ sau");            System.out.println("7. Loại bỏ các phần tử âm");            System.out.println("8. Loại bỏ các phần tử trùng nhau");            System.out.println("9. Exit");            System.out.println("____________________________");            System.out.print("Mời chọn : ");            chon = in.nextInt();            switch (chon) {                case 1:                    Mang.Capnhat();                    break;                case 2:                    Hienthi();                    break;                case 9:                    System.out.println("Ðã thoát!");                    System.exit(0);            }        } while (chon != 0);    }}
    Bạn xem lại hộ mình cách dùng biến trong java lại cái nhé, nói chung cảm giác là bạn viết mà bạn chẳng hiểu bạn đang làm gì, xem lại khái niệm hướng đối tượng.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kimcy1992
    Bạn xem lại hộ mình cách dùng biến trong java lại cái nhé, nói chung cảm giác là bạn viết mà bạn chẳng hiểu bạn đang làm gì, xem lại khái niệm hướng đối tượng.
    Cám ơn bạn nhiều nha, giờ thì hiểu rồi.
    Hóa ra là tạo biến ngoài chứ ko phải tạo trong hàm.
    Lập trình mình dốt dis à.

 

 

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
  •