Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Hỏi về bài tập lập trình hướng đối tượng

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    0

    Mặc định Hỏi về bài tập lập trình hướng đối tượng

    Em mới làm quen với java được hơn 1 tuần , hôm nay mới nhận được cái bài tập này nhưng em chưa biết hướng giải quyết :

    tạo 2 class đầu thì em làm được rồi , nhưng đến đoạn sau thì em không hiểu lắm yêu cầu bài tập . Mong các anh , các bạn hướng dẫn giúp em .
    p/s: ai có thời gian code demo bài này cho em học hỏi thì tốt quá . Em cám ơn mọi người.

  2. #2
    Ngày gia nhập
    11 2012
    Bài viết
    29

    Bạn tham khảo xem 4 class nhá.
    Code:
    import java.util.Scanner;
    
    public class Human {
    	
    	protected String name;
    	protected float height;
    	
    	public Human(String name1, float height1)
    	{
    		name = name1;
    		height = height1;
    	}
    	
    	public void toPutIn()
    	{
    		Scanner in = new Scanner(System.in);
    		
    		System.out.print("Put name in : ");
    		name = in.nextLine();
    		System.out.print("Put height in : ");
    		height = in.nextFloat();
    	}
    
    }
    Code:
    import java.util.Scanner;
    
    public class FootBallPlayer extends Human{
    	
    	public String poSiTion;
    	
    	public FootBallPlayer(String name1, float height1, String poSiTion1)
    	{
    		super(name1, height1);
    		poSiTion = poSiTion1;
    	}
    	
    	public void toPutIn()
    	{
    		Scanner in = new Scanner(System.in);
    		
    		super.toPutIn();
    		
    		System.out.print("Put position in : ");
    		poSiTion = in.nextLine();
    	}
    	
    	public static void main(String[] args) {
    		FootBallPlayer fP[] = new FootBallPlayer[100];
    	}
    }
    Code:
    import java.util.Scanner;
    
    public class FootBallClub{
    	
    	FootBallPlayer fP[] = new FootBallPlayer[100];
    	int fCNum;
    	
    	public void toPutIn()
    	{
    		Scanner in = new Scanner(System.in);
    		int i;
    		
    		System.out.print("How many players ? ");
    		fCNum = in.nextInt();
    		
    		for(i = 1; i <= fCNum; i ++)
    		{
    			fP[i] = new FootBallPlayer("a", 1, "CF");
    			System.out.println("Player[" + i + "] : ");
    			fP[i].toPutIn();
    		}
    	}
    	
    	public void toSearch_Position(String name)
    	{
    		int i;
    		
    		for(i = 1; i <= fCNum; i ++)
    			if(fP[i].name.equals(name))
    				break;
    		
    		System.out.println(fP[i].name + " play as " + fP[i].poSiTion );
    	}
    
    }
    Code:
    import java.util.Scanner;
    
    public class Test {
    	
    	static void arrangeForMatch(FootBallClub club, int N)
    	{
    		int i;
    		
    		System.out.println("********* Team for next match *********");
    		
    		for(i = 1; i <= N; i ++)
    			System.out.println(club.fP[i].name + " plays as " + club.fP[i].poSiTion);
    	}
    	
    	public static void main(String[] args) {
    		
    		Scanner in = new Scanner(System.in);
    		FootBallClub fC = new FootBallClub();
    		String str1;
    		int N;
    	
    		fC.toPutIn();
    		
    		System.out.print("What's player's name to search ? ");
    		str1 = in.nextLine();
    		
    		fC.toSearch_Position(str1);
    		
    		System.out.print("How many players for next match ? ");
    		N = in.nextInt();
    		
    		if(N <= fC.fCNum)
    			arrangeForMatch(fC, N);
    		else
    			System.out.println("Not enough player.");
    	}
    }

  3. #3
    Ngày gia nhập
    07 2011
    Bài viết
    0

    cám ơn pato nhiều lắm , bạn có thể nói giúp mình rõ hơn nhiệm vụ của class FootballClub là gì không ? và yêu cầu đề bài là thuộc tính Position là private , vậy nó có ảnh hưởng gì tới code của cậu không?

  4. #4
    Ngày gia nhập
    11 2012
    Bài viết
    29

    Trích dẫn Nguyên bản được gửi bởi spookh2 Xem bài viết
    cám ơn pato nhiều lắm , bạn có thể nói giúp mình rõ hơn nhiệm vụ của class FootballClub là gì không ? và yêu cầu đề bài là thuộc tính Position là private , vậy nó có ảnh hưởng gì tới code của cậu không?
    Bạn dịch đề ra là biết nè, class FootBallClub chứa danh sách FootballPlayer (hay ở đây mình làm là mảng). Khi nhận vào 1 tên, trả về vị trí của cầu thủ trong danh sách có tên trùng với tên vừa nhận vào( hay ở đây mình tìm kiếm vị trí của 1 cầu thủ trong danh sách (nếu có)). Đối tượng FootBallClub có thể thêm nhiều hơn đối tượng FootballPlayer nữa.
    Còn thuộc tính Positon, thì có ảnh hưởng đấy, nếu mình khai báo private theo như đề bài thì chỉ sử dụng nó trong class FootBallPlayer (thuộc tính riêng của lớp mà). Khi mình sử dụng nó trong các class khác thì sẽ báo lỗi ngay. Nên mình chuyển sang public, mình nghĩ làm vậy có vẻ hợp lí hơn.

  5. #5
    Ngày gia nhập
    07 2011
    Bài viết
    0

    vậy có cách nào mà khi khai báo private vẫn gọi nó ra ở hàm khác được không :-?
    tớ cũng ko hiểu sao cái đề bài lại bắt là private , anw , cám ơn cậu nhé xD

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn