 |
|
ช่วยดูโค้ดโปรแกรมเลือกหนัง ให้หน่อยน่ะค่ะ พอดีว่าติดปัญหา |
|
 |
|
|
 |
 |
|
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 :
1845 |
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|