Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Java Programming > Java Forum > Java ช่วยดูโปรแกรมร้านอาหารให้หน่อยค่ะ พอดีว่าทำแล้วแต่มันยังติดปัญหานิดหน่อยค่ะ



 

Java ช่วยดูโปรแกรมร้านอาหารให้หน่อยค่ะ พอดีว่าทำแล้วแต่มันยังติดปัญหานิดหน่อยค่ะ

 



Topic : 114146



โพสกระทู้ ( 19 )
บทความ ( 0 )



สถานะออฟไลน์




Code (Java)
//แบ่งออกเป็น 3 คลาส ค่ะ
//คลาสที่1
import java.util.Scanner;
import java.util.Vector;

public class Order {
	private double total;
	private String list;
	private int orderNumber;
	private Vector<FoodType> foodtype = new Vector<FoodType>();

	public String getList() {
		return list;
	}

	public int getOrderNumber() {
		return orderNumber;

	}

	public void addFoodType(FoodType f) {
		foodtype.addElement(f);
	}

	public void listFoodType() {
		for (int i = 0; i < foodtype.size(); i++) {
			System.out.println("ชนิดอาหาร  "
					+ foodtype.elementAt(i).getMenuType() + " \t รายการ   "
					+ foodtype.elementAt(i).getMenuList() + " \t ราคา  "
					+ foodtype.elementAt(i).getPrice());
		}
	}

	// รับค่าจากผู้ใช้
	public void orderlist() {
		Scanner scan = new Scanner(System.in);
		int number;
		System.out.print("ต้องการกี่รายการ ? = ");
		number = scan.nextInt();
		for (int i = 0; i < number; i++) {
			System.out.print("รายการที่ " + (i + 1) + " ");
			list = scan.next();
			System.out.print("จำนวน ");
			orderNumber = scan.nextInt();

		}
	}

	// แสดงรายการที่สั่ง
	public void calorderlist() {

		for (int i = 0; i < foodtype.size(); i++) {
			if (foodtype.elementAt(i).getMenuList().equals(list)) {
				System.out.println("" + foodtype.elementAt(i).getMenuList()
						+ " \t \t " + orderNumber + " \t \t "
						+ foodtype.elementAt(i).getPrice() + " \t \t "
						+ orderNumber * foodtype.elementAt(i).getPrice());
			}
		}
	}

}
//คลาสที่2
import java.util.Scanner;

public class FoodType {
	private String menutype;
	private String menulist;
	private double price;

	public FoodType(String menutype,String menulist,int price) {
       this.menutype = menutype;
       this.menulist = menulist;
       this.price = price;
	}
	public String getMenuType(){
		return menutype;
	}
	public String getMenuList(){
		return menulist;
	}
	
	public double getPrice (){
		return price;
	}
	
	
	public String toString (){
		return "ชนิดอาหาร "+menutype+ "รายการ   "+menulist +"ราคา   "+price;
	}
}
//คลาสที่ 3
import java.util.Scanner;

public class Detail {
	private int orderID;
	private int tableNumber;
	private String date;
	private String time;
	public Detail(int orderID,String date,String time) {
        this.orderID = orderID;
		this.date = date;
		this.time = time;
	}
	public void Detail(){
		Scanner scan = new Scanner(System.in);
		System.out.print("หมายเลขโต๊ะ   ");
		tableNumber = scan.nextInt();
	}
	public int getTableNumber() {
		return tableNumber;
	}
	
	public int getOrderID() {
		return orderID;
	}
	public String toString(){
		return "หมายเลขโต๊ะ  " + tableNumber+ "\t \t \t เลขที่ "+orderID +"\n \nวันที่/เวลา  \t \t " +date +".. \t " +time;
		
	}
}
//คลาส Run
import java.util.Scanner;


public class Run {
public static void main(String[] args) {
	Scanner scan = new Scanner (System.in);
    Order o = new Order();
	FoodType f1 = new FoodType("ส้มตำ","ส้มตำทะเล",70);
	FoodType f2 = new FoodType("ส้มตำ","ส้มตำปู",70);
	FoodType f3 = new FoodType("ก๋วยเตี๋ยว","ก๋วยเตี๋ยวไก่",50);
	FoodType f4 = new FoodType("ก๋วยเตี๋ยว","ก๋วยเตี๋ยวหมู",45);
	FoodType f5 = new FoodType("ต้มยำ","ต้มยำกุ้ง",100);
	FoodType f6 = new FoodType("ต้มยำ","ต้มยำไก่",70);
	FoodType f7 = new FoodType("อาหารทะเล","กุ้งมังกร",610);
	FoodType f8 = new FoodType("อาหารทะเล","ปลาหมึกยัดไส้",150);
    
    o.addFoodType(f1);
    o.addFoodType(f2);
    o.addFoodType(f3);
    o.addFoodType(f4);
    o.addFoodType(f5);
    o.addFoodType(f6);
    o.addFoodType(f7);
    o.addFoodType(f8);
	o.listFoodType();
	Detail d = new Detail(334, "23/1/2558","12.30 น.");
	System.out.println(" ");
	d.Detail();
	o.orderlist();
	
	System.out.println("----------------------------------------\n");
	System.out.println("\t \t ใบเสร็จรับเงิน");
	
	
	System.out.println(d.toString());
	System.out.println("\nรายการ  " + " \t \t จำนวน  " + "\t \t ราคา  " + " \t \t รวม  ");
	o.calorderlist();
}
	
}

food

*ติดปัญหาที่เวลาป้อนค่าไปแล้วมันแสดงแค่รายการสุดท้าย มันไม่แสดงรายการทั้งหมดที่ป้อน



Tag : Java, C#, JAVA









ประวัติการแก้ไข
2015-02-02 16:01:31
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-02-01 23:40:31 By : จ๊ะจ๋า View : 18627 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code
Order o = new Order(); FoodType f1 = new FoodType("ส้มตำ","ส้มตำทะเล",70); FoodType f2 = new FoodType("ส้มตำ","ส้มตำปู",70); FoodType f3 = new FoodType("ก๋วยเตี๋ยว","ก๋วยเตี๋ยวไก่",50); FoodType f4 = new FoodType("ก๋วยเตี๋ยว","ก๋วยเตี๋ยวหมู",45); FoodType f5 = new FoodType("ต้มยำ","ต้มยำกุ้ง",100); FoodType f6 = new FoodType("ต้มยำ","ต้มยำไก่",70); FoodType f7 = new FoodType("อาหารทะเล","กุ้งมังกร",610); FoodType f8 = new FoodType("อาหารทะเล","ปลาหมึกยัดไส้",150); o.addFoodType(f1); o.addFoodType(f2); o.addFoodType(f3); o.addFoodType(f4); o.addFoodType(f5); o.addFoodType(f6); o.addFoodType(f7); o.addFoodType(f8); o.listFoodType();


ทำไมมันขึ้นข้อมูลไม่สัมพันธ์กันครับ อาจะต้องใช้การ Debug ดูค่าแล้วครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 11:06:21 By : mr.win
 


 

No. 2



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ไม่แน่ใจว่าจะตอบโจทย์หรือเปล่า ลองเปลี่นวิธีเรียกใช้ดูไหมครับ

Code (Java)
// แสดงรายการที่สั่ง
	public void calorderlist() {

		for (int i = 0; i < foodtype.size(); i++) {
			if (foodtype.elementAt(i).getMenuList().equals(list)) {
				System.out.println("" + foodtype.elementAt(i).getMenuList()
						+ " \t \t " + orderNumber + " \t \t "
						+ foodtype.elementAt(i).getPrice() + " \t \t "
						+ orderNumber * foodtype.elementAt(i).getPrice());
			}
		}
	}

ลองแบบข้างล่าง
Code (Java)
// แสดงรายการที่สั่ง
	public void calorderlist() {
		for (FoodType obj : foodtype) {         
			System.out.println("" + obj.getMenuList()
				+ " \t \t " + orderNumber + " \t \t "
				+ obj.getPrice() + " \t \t "
				+ (orderNumber * obj.getPrice())
			);
		}
	}



ประวัติการแก้ไข
2015-02-02 11:24:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 11:22:44 By : Chaidhanan
 

 

No. 3



โพสกระทู้ ( 19 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2015-02-02 11:22:44
รายละเอียดของการตอบ ::
อยากให้แสดงค่ารายการเฉพาะที่ผู้ใช้ป้อนอะค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 15:46:35 By : iamja
 


 

No. 4



โพสกระทู้ ( 19 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-02-02 11:06:21
รายละเอียดของการตอบ ::
ข้อมูลไม่สัมพันธ์กันยังไงค่ะ ? แต่รันออกมามันก็ขึ้นน่ะค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 15:48:09 By : iamja
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ที่ class Order

ตัวแปร list เป็น string

และ ใน Order.orderlist()
ใน loop for กำหนดค่า list = scan.next()
และ orderNumber = scan.nextInt()
เป็นการกำหนดค่าทับลงไปในตัวแปร
แม้จะอยู่ใน loop ก็จะได้ค่าสุดท้ายค่าเดียวตลอด

ดังนั้น ควรทำตัวแปร list ให้เป้น vector ของ ชุดข้อมูล
โดยการเพิ่ม class ขึ้นมาอีกซักอันเพื่อเก็บ ข้อมูลการสั่งแต่ละรายการ ดังนี้

Code (Java)
public class Item {
	private String list;
	private int orderNumber;
	public void Item( int i){
		Scanner scan = new Scanner(System.in);
		System.out.print("รายการที่ " + (i + 1) + " ");
		list = scan.next();
		System.out.print("จำนวน ");
		orderNumber = scan.nextInt();
	}
}

public class Order {
	private double total;
	private Vector<Item> list = new Vector<Item>();
	private Vector<FoodType> foodtype = new Vector<FoodType>();


	public void orderlist() {
		Scanner scan = new Scanner(System.in);
		int number;
		System.out.print("ต้องการกี่รายการ ? = ");
		number = scan.nextInt();
		for (int i = 0; i < number; i++) {
			Item obj = new Item( i );
			list.addElement(obj);
		}
	}
}



และ ใน function Order.orderlist()
กับ function Order.calorderlist()
ให้แก้ไขใหม่ input กับ output ให้สัมพันธ์กัน
ผมทำตัวอย่าง แค่ class Item และ Order.orderlist() เท่านั้นนะครับ
ลองดูในส่วนของ calorderlist เอาเองนะครับ ถ้าไม่ได้ก็ค่อยมาโพสถามใหม่


ประวัติการแก้ไข
2015-02-02 21:55:43
2015-02-02 21:57:15
2015-02-03 13:29:45
2015-02-03 13:31:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-02 21:47:11 By : Chaidhanan
 


 

No. 6

Guest


มีโค้ด class order ที่เขียนเสร็จแล้วไหมคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-11-23 17:26:41 By : nicha
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Java ช่วยดูโปรแกรมร้านอาหารให้หน่อยค่ะ พอดีว่าทำแล้วแต่มันยังติดปัญหานิดหน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่