|  | 
	                
 
  
    |  |  
    | 
        
        ช่วยดูโค้ดโปรแกรมเลือกหนัง ให้หน่อยน่ะค่ะ  พอดีว่าติดปัญหา     |  
    |  |  
 
	
		|  |  |  |  |  
		|  |  | 
          
            | Code (Java) 
 public class MajorCineplex {
	private String theatreMajor;
	public MajorCineplex(String theatreMajor) {
		this.theatreMajor = theatreMajor;
	}
	public String getTheatreMajor() {
		return theatreMajor;
	}
	public String toString() {
		return " " + getTheatreMajor();
	}
}
 Code (Java)
 
 import java.util.Scanner;
import java.util.Vector;
public class Theatre extends MajorCineplex {
	private String nameTheatre;
	private int numberTheatre;
	private int numberRow;
	private int numberSeat;
	private Vector<Movies> movies = new Vector<Movies>();
	public Theatre(String theatreMajor, String nameTh) {
		super(theatreMajor);
		this.nameTheatre = nameTh;
	}
	public String getNameTheatre() {
		return nameTheatre;
	}
	public int getNumberTheatre() {
		return numberTheatre;
	}
	public void addMovies(Movies m) {
		movies.addElement(m);
	}
	public void listMovies() {
		int number;
		Scanner scan = new Scanner(System.in);
		System.out.print("ต้องการสาขา ? : = ");
		nameTheatre = scan.next();
		for (int i = 0; i < movies.size(); i++) {
			if (nameTheatre == "1") {
				System.out.println(" " + movies.elementAt(i).getNameMovies()
						+ " " + movies.elementAt(i).getDate());
			}
		}
	}
	public void Theatre() {
		Scanner scan = new Scanner(System.in);
		System.out.println("");
	}
	public String toString() {
		return "\tสาขา " + getNameTheatre();
	}
}
Code (Java)
 
 public class Movies extends MajorCineplex {
	private String nameMovies;
	private String date;
	private String time;
	private int theatre;
	public Movies(String theatreMajor, String nameMovies, String date,
			String time, int theatre) {
		super(theatreMajor);
		this.nameMovies = nameMovies;
		this.date = date;
		this.time = time;
		this.theatre = theatre;
	}
	public String getNameMovies() {
		return nameMovies;
	}
	public String getDate() {
		return date;
	}
	public String getTime() {
		return time;
	}
	public int getTheatre() {
		return theatre;
	}
	public String toString() {
		return " " + getNameMovies();
	}
}
Code (Java)
 
 //คลาสรัน
import java.util.Scanner;
public class Run {
	public static void main(String[] args) {
		System.out.println("\t \t ******* Major Cineplex *******");
		Scanner scan = new Scanner(System.in);
		MajorCineplex ma = new MajorCineplex("\b ภาคเหนือ - เชียงใหม่ ");
		Theatre t1 = new Theatre("ภาคเหนือ  - เชียงใหม่","1.เมเจอร์ ซีนีเพล็กซ์ เซ็นทรัลเฟสติวัล เชียงใหม่");
		Theatre t2 = new Theatre("ภาคเหนือ  - เชียงใหม่","2.เมเจอร์ ซีนีเพล็กซ์ เซ็นทรัล เชียงใหม่ แอร์พอร์ต");
		Movies m1 = new Movies("ภาคเหนือ","Single lady","12/02/2015","10.00",1);
		System.out.println(ma.toString());
		System.out.println(t1.toString());
		System.out.println(t2.toString());
		t1.listMovies();
	}
}
 ติดปัญหาตรงนี้อะค่ะ
 
  
 
 
 Tag : Java, C#, JAVA
 
 
 |  
            | 
 ประวัติการแก้ไข
 2015-02-08 20:56:05
 2015-02-08 20:56:54
 2015-02-09 18:05:47
 2015-02-09 20:28:51
 2015-02-09 20:29:13
 |  
            | 
              
                |  |  |  |  
                |  | 
                    
                      | Date :
                          2015-02-08 20:54:45 | By :
                          iamja | View :
                          2027 | Reply :
                          8 |  |  |  
                |  |  |  |  |  
            |  |  
		            |  |  
		|  |  |  |  |  
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เป็น Java GUI หรือเปล่าครับ ? 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-02-09 09:57:51 | By :
                            mr.win |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ถ้าเป็น Java ธรรมดา (ปล. JAVA SE )  มันทำ Event ให้คลิก ไม่ได้ครับ ทำได้อย่างเดียวเท่าที่คิดได้ตอนนี้คือ ให้ผู้ใช้รับข้อมูลเข้ามาจากคีย์บอร์ด แล้วแสดงผลเอา  เช่น Input  Set No :  A1   แล้วเก็บลงในเบส หรือ ไฟล์ เพื่อนำมาแสดงผลต่อไปครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-02-09 11:35:22 | By :
                            thaidevelopment.net |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ใน Function Main ให้เรียกใช้   t1.addMovies(m1);  ด้วยครับ 
 Code (Java)
 
 	public void listMovies() {
			int number;
			Scanner scan = new Scanner(System.in);
			System.out.print("ต้องการสาขา ? : = ");
			nameTheatre = scan.next();
			for (int i = 0; i < movies.size(); i++) {
				if (nameTheatre.equals("1")) {  ==> แก้ไขตรงนี้เป็น equals
					System.out.println(" " + movies.elementAt(i).getNameMovies()
							+ " " + movies.elementAt(i).getDate());
				}
			}
		}
 แล้วก็แก้ไขเงื่อนไขการเปรียบเทียบเป็น equals ด้วนครับ เพราะเป็นการเปรยบเทียบแบบ Object ใช้ == ไม่ได้
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-02-10 23:19:23 | By :
                            Thaidevelopment.NET |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | อย่างแรกเลย ใช้ debug เป็นมั้ยครับ? ให้ลองทำการ debug ไปทีละบรรทัด จะเห็นว่าแต่ละตัวแปร มีค่าอะไร แล้วทำไมถึงไม่ได้ค่าตามที่เราต้องการ 
 ดูที่เมธอด listMovies() ในคลาส Theatre  อยากให้แสดงชื่อหนัง ก็ต้องแก้ไข 2 ข้อนี้ก่อนครับ
 1. ภายในลูป for ตัว movies ยังไม่มีค่าอะไรเลย เพราะว่า ไม่เห็นเรียกใช้เมธอด addMovies ฉะนั้นลูป for ก็ไม่ทำงาน
 2. ค่า nameTheatre ที่ได้จาก scan.next();  จะได้เป็น string เวลาเปรียบเทียบให้ใช้ เมธอด String#equals() ครับ เช่น nameTheatre.equals("1) แต่ถ้าอยากใช้ == ก็ควรจะเป็น Integer เช่น scan.nextInt() == 1
 
 อันนี้กำลังเรียนเรื่อง OOP อยู่รึเปล่าครับ ดูแล้วเหมือนพยายามใช้การสืบทอด, getter/setter ? ถ้าใช่ ลองดูภาพรวมของตัวโปรแกรมดีๆครับ :) แล้วก็พวก Scanner จริงๆ ควรแยกออกมาไว้ที่คลาสหลัก แล้วใช้การส่งค่าเป็น parameter ไปคำนวณจะดีกว่าครับ
 
 |  
              | 
 ประวัติการแก้ไข
 2015-02-11 10:18:17
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-02-11 10:17:29 | By :
                            devahoy |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              |  ตอบความคิดเห็นที่ : 5 เขียนโดย : Thaidevelopment.NET เมื่อวันที่ 2015-02-10 23:19:23 
 รายละเอียดของการตอบ ::
 ถ้าอยากจะเก็บค่า เวลาฉายไว้ที่เดียวกัน ต้องทำไงค่ะ 
  
 Code (Java)
 
 //คลาสรัน
import java.util.Scanner;
public class Run {
	public static void main(String[] args) {
		System.out.println("\t \t \t ******* Major Cineplex *******");
		Scanner scan = new Scanner(System.in);
		MajorCineplex ma = new MajorCineplex("\b ภาคเหนือ - เชียงใหม่ ");
		Theatre t1 = new Theatre("ภาคเหนือ  - เชียงใหม่","1.เมเจอร์ ซีนีเพล็กซ์ เซ็นทรัลเฟสติวัล เชียงใหม่");
		Theatre t2 = new Theatre("ภาคเหนือ  - เชียงใหม่","2.เมเจอร์ ซีนีเพล็กซ์ เซ็นทรัล เชียงใหม่ แอร์พอร์ต");
		Movies m1 = new Movies("ภาคเหนือ","Single lady เพราะเคยมีแฟน","12/02/2015","11:30",1);
		Movies m2 = new Movies("ภาคเหนือ","Single lady เพราะเคยมีแฟน","12/02/2015","14:50",1);
		Movies m3 = new Movies("ภาคเหนือ","Single lady เพราะเคยมีแฟน","12/02/2015","18:10",1);
		Movies m4 = new Movies("ภาคเหนือ","Single lady เพราะเคยมีแฟน","12/02/2015","21:30",1);
		Movies m5 = new Movies("ภาคเหนือ","American Sniper","12/02/2015","10:00",2);
		Movies m6 = new Movies("ภาคเหนือ","American Sniper","12/02/2015","12:30",2);
		Movies m7 = new Movies("ภาคเหนือ","American Sniper","12/02/2015","17:20",2);
		Movies m8 = new Movies("ภาคเหนือ","American Sniper","12/02/2015","20:10",2);
		Movies m9 = new Movies("ภาคเหนือ","Jupiter Ascending","12/02/2015","13:30",3);
		Movies m10 = new Movies("ภาคเหนือ","Jupiter Ascending","12/02/2015","16:20",3);
		Movies m11 = new Movies("ภาคเหนือ","Jupiter Ascending","12/02/2015","19:10",3);
		Movies m12 = new Movies("ภาคเหนือ","Jupiter Ascending","12/02/2015","22:00",3);
		Movies m13 = new Movies("ภาคเหนือ","The Imitation Game","12/02/2015","12:50",4);
		Movies m14 = new Movies("ภาคเหนือ","The Imitation Game","12/02/2015","15:40",4);
		Movies m15 = new Movies("ภาคเหนือ","The Imitation Game","12/02/2015","18:30",4);
		Movies m16 = new Movies("ภาคเหนือ","The Imitation Game","12/02/2015","21:20",4);
		Movies m17 = new Movies("ภาคเหนือ","Sean Sa Yong เศียรสยอง","12/02/2015","11:00",5);
		System.out.println(ma.toString());
		System.out.println(t1.toString());
		System.out.println(t2.toString());
		t1.addMovies(m1);
		t1.addMovies(m2);
		t1.addMovies(m3);
		t1.addMovies(m4);
		t1.addMovies(m5);
		t1.addMovies(m6);
		t1.addMovies(m7);
		t1.addMovies(m8);
		t1.addMovies(m9);
		t1.addMovies(m10);
		t1.addMovies(m11);
		t1.addMovies(m12);
		t1.addMovies(m13);
		t1.addMovies(m14);
		t1.addMovies(m15);
		t1.addMovies(m16);
		t1.addMovies(m17);
		t1.listMovies();
		
	}
}
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-02-11 13:02:10 | By :
                            iamja |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 |  |