Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Smartphone WIKO của Pháp chính thức xuất hiện tại Việt Nam

Tìm HD - Phần mềm tìm và xem phim HD miễn phí

Cuộc thi khoảnh khắc tuyệt vời cùng Vn-Zoom.com

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tuyển thành viên nhóm Reviews diễn đàn

VN-Zoom & ASUS đón siêu phẩm,tăng tốc chuẩn bị ASUS Expo 2014
kết quả từ 1 tới 10 trên 10
  1. #1
    thanhga0210's Avatar
    thanhga0210 vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Jan 2011
    Bài
    155
    Cảm ơn
    68
    Điểm
    37/28 bài viết
    VR power
    0

    Default [Hỏi] Cách sắp xếp danh sách sinh viên theo ABC ( tên sinh viên có dấu )

    Mình có 1 bài về sắp xếp danh sách sinh viên theo thứ tự ABC, tên sinh viên nhập vào hoặc đọc từ file đều không dấu. Khi nhập danh sách sinh viên có dấu vào thì sắp xếp
    sai hoàn toàn. Mong mọi người ai giúp cách đọc file hoặc nhập có dấu . Còn đây là code sắp xếp dssv ( trường hợp không dấu )
    Code:
    /**
     * @(#)Sv2.java
     *
     *
     * @author Thanh
     * @version 1.00 2011/7/7
     */
    import java.util.Scanner;
    import java.io.*;
    
    
    public class Sv2 
    {
        private String hoten;
        void setHoten(String hoten)
        {
        	this.hoten=hoten;
        }
        String getHoten()
        {
        	return hoten;
        }
    	/*****************************/
    	/***************************/
    	void xem()
    	{
    	  System.out.print("\n\t\t"+hoten);	
    	}
    	
    	void nhap()
    	{
    		Scanner nhap=new Scanner(System.in);
    		System.out.print("\n Ho va ten: ");
    		hoten=nhap.nextLine();
    		setHoten(hoten);
    	}
    	/**********************************************************/
    	
    	public static String daoTen(String str) /*** VI DU VU TIEN THANH ->>> THANH  VU   TIEN ***/
        {                                                                /*   TEN->  HO->  DEM */ 
            String[] temp=str.split(" ");
            str ="";
            str=temp[temp.length-1]+" ";
    	    for (int i=0;i<temp.length-1;i++)
    	    {
                str=str + temp[i]+" ";
    	    }
            return str;
        }
    	/********************************************************/
    
    	
        public static void main(String[] args)throws IOException {
            // TODO code application logic here
            Sv2 A[];
            int n;
            //Scanner sc=new Scanner(new FileInputStream(“filename.txt”),”UTF-8?)
     
            Scanner nhap=new Scanner(System.in);
            System.out.print("\n So sinh vien duoc nhap: ");
            n=nhap.nextInt();
    
            System.out.print("\n Nhap Danh sach sinh vien ");
            System.out.print("\n");
            A=new Sv2[n];  
            	             
            for(int i=0;i<n;i++)
            {
            	A[i]=new Sv2();
            	A[i].nhap();
            }
            
            /*** DAO TEN LEN DAU ROI SAP XEP THEO THU TU TRAI QUA PHAI ( TUC LA TEN-> HO-> DEM ) ***/
            
            String tenSvDao[]=new String[20];
            for(int i=0; i<n;i++)
            {
                tenSvDao[i]=daoTen(A[i].getHoten());
            }
            for(int i=0;i<n-1;i++)
            {
                for(int t=i+1;t<n;t++)
                {
                     if(tenSvDao[i].compareTo(tenSvDao[t]) >0)   
                     {
                        Sv2 temp;
                        temp=A[i];
                        A[i]=A[t];
                        A[t]=temp;
                     }
                }
            }
            
            /********* XEM **********/
            System.out.print("\n\n ********Danh sach Sinh vien********");
            System.out.print("\n\n\t      Ho va ten\n");
            for(int i=0;i<n;i++)
            {
               	 A[i].xem();
            }
            
        }
    }

  2. Có 2 thành viên cảm ơn thanhga0210 cho bài viết này:
    liverpudlians (11-09-2011), quanghuyk8b (14-11-2012)

  3. #2
    Tung_Huynh's Avatar
    Tung_Huynh vẫn chưa có mặt trong diễn đàn Cống hiến cho [V-Z]
    Tham gia
    Jul 2009
    Đến từ
    Thái Nguyên
    Bài
    6.777
    Cảm ơn
    1.540
    Điểm
    4.128/2.749 bài viết
    VR power
    0

    Default

    Bạn lưu tên vào 1 mảng rồi so sánh cái mảng đó mà ko cập nhật lại mảng khi đổi chỗ thì sao mà chính xác được
    Nếu bạn làm vậy thì đổi chỗ danh sách A, và phải đổi chỗ cả trong mảng chuỗi tenSVdao thì mới có tác dụng
    Ko thì bỏ cái mảng đó đi và kiểm tra luôn trong danh sách

    Code:
    .........
     for(int i=0;i<n-1;i++)
            {
                for(int t=i+1;t<n;t++)
                {
                     if(A[i].getTen().compareTo(A[t].getTen()) >0)   
                     {
                        Sv2 temp;
                        temp=A[i];
                        A[i]=A[t];
                        A[t]=temp;
                     }
                }
    ......

  4. Có 1 thành viên cảm ơn Tung_Huynh cho bài viết này:
    liverpudlians (11-09-2011)

  5. #3
    thanhga0210's Avatar
    thanhga0210 vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Jan 2011
    Bài
    155
    Cảm ơn
    68
    Điểm
    37/28 bài viết
    VR power
    0

    Default

    Trích Tung_Huynh View Post
    Bạn lưu tên vào 1 mảng rồi so sánh cái mảng đó mà ko cập nhật lại mảng khi đổi chỗ thì sao mà chính xác được
    Nếu bạn làm vậy thì đổi chỗ danh sách A, và phải đổi chỗ cả trong mảng chuỗi tenSVdao thì mới có tác dụng
    Ko thì bỏ cái mảng đó đi và kiểm tra luôn trong danh sách

    Code:
    .........
     for(int i=0;i<n-1;i++)
            {
                for(int t=i+1;t<n;t++)
                {
                     if(A[i].getTen().compareTo(A[t].getTen()) >0)   
                     {
                        Sv2 temp;
                        temp=A[i];
                        A[i]=A[t];
                        A[t]=temp;
                     }
                }
    ......
    mình đã có 1 mảng tạm là String tenSvDao rồi, mình lưu là lưu tên vào mảng đó rồi so sánh.
    Mình đã test nhiều trường hợp và không có vấn đề .
    Bạn có thể test thêm để kiểm chứng

  6. Có 1 thành viên cảm ơn thanhga0210 cho bài viết này:
    liverpudlians (11-09-2011)

  7. #4
    happyboy99x's Avatar
    happyboy99x vẫn chưa có mặt trong diễn đàn Rìu Bạc Đôi
    Tham gia
    May 2011
    Bài
    523
    Cảm ơn
    457
    Điểm
    234/152 bài viết
    VR power
    0

    Default

    Xếp có dấu thì mình thấy khó lắm, vì tiếng việt mình phong phú lắm mà!

  8. Có 1 thành viên cảm ơn happyboy99x cho bài viết này:
    liverpudlians (11-09-2011)

  9. #5
    anomhi's Avatar
    anomhi vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Apr 2009
    Đến từ
    HN
    Bài
    196
    Cảm ơn
    200
    Điểm
    74/32 bài viết
    VR power
    0

    Default

    cái này mình nhớ là phải add thêm package unicode của font việt bạn ạ.
    Key KASPERSKY không phải đi đâu xa xôi, không lo block: các bạn vào đây lấy nhé:http://kavkiskey.org/new.html
    p/s: mình dùng key trong này rất ngon.

  10. #6
    thanhga0210's Avatar
    thanhga0210 vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Jan 2011
    Bài
    155
    Cảm ơn
    68
    Điểm
    37/28 bài viết
    VR power
    0

    Default

    Trích anomhi View Post
    cái này mình nhớ là phải add thêm package unicode của font việt bạn ạ.
    mình đã thử import java.*; rồi mà vẫn ko có tác dụng
    Thay đổi nội dung bởi thanhga0210; 12-09-2011 lúc 21:28.

  11. #7
    Tung_Huynh's Avatar
    Tung_Huynh vẫn chưa có mặt trong diễn đàn Cống hiến cho [V-Z]
    Tham gia
    Jul 2009
    Đến từ
    Thái Nguyên
    Bài
    6.777
    Cảm ơn
    1.540
    Điểm
    4.128/2.749 bài viết
    VR power
    0

    Default

    Trích thanhga0210 View Post
    mình đã thử import java.*; rồi mà vẫn ko có tác dụng
    Đã là hàng việt thì chắc là phải tải thêm chứ

  12. #8
    thanhga0210's Avatar
    thanhga0210 vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Jan 2011
    Bài
    155
    Cảm ơn
    68
    Điểm
    37/28 bài viết
    VR power
    0

    Default

    Trích Tung_Huynh View Post
    Đã là hàng việt thì chắc là phải tải thêm chứ
    thế thì mách bạn tải với

  13. #9
    Phương Lee's Avatar
    Phương Lee vẫn chưa có mặt trong diễn đàn Gà Con
    Tham gia
    Sep 2011
    Bài
    4
    Cảm ơn
    0
    Điểm
    6/2 bài viết
    VR power
    0

    Default

    Bạn thử áp dụng đoạn code sau với việc xử lí cho mảng A sau khi đã đảo tên như sau xem được ko :

    import java.util.Collections;
    ...
    for (int i = 0; i < A.length; i++) {
    Collections.sort(Arrays.asList(A));
    }
    ...

  14. Có 1 thành viên cảm ơn Phương Lee cho bài viết này:
    thanhga0210 (27-09-2011)

  15. #10
    thanhga0210's Avatar
    thanhga0210 vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Jan 2011
    Bài
    155
    Cảm ơn
    68
    Điểm
    37/28 bài viết
    VR power
    0

    Default

    Trích Phương Lee View Post
    Bạn thử áp dụng đoạn code sau với việc xử lí cho mảng A sau khi đã đảo tên như sau xem được ko :
    sắp xếp tên sinh viên không dấu thì mình đã làm đc rồi . Còn đối với danh sách có dấu mình đã sắp xếp được nhưng chỉ có 1 lỗi là khi in ra màn hình thì chữ cái nào có dấu nó bị thành ? với ô vuông thôi. Chắc có lẽ lại phải mã hóa tiếp mất

 

 

Quyền sử dụng

  • 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ể tự sửa bài viết của mình
  •