看板 Programming 關於我們 聯絡資訊
今天去面試的考試是上機考java 題目如下 有一戲院有30個座位 預約座位時以隨機決定顯示座位號碼 如果座位滿了顯示座位已滿 class名稱為Reservation method名稱為Reserve 以Random.nextFloat()亂數決定 我算是寫出來了 但是覺得寫的不好 不知道版上哪位高手能給個意見 謝謝 import java.util.Random; import java.util.Scanner; public class Reservation { private boolean[] seat; private int seat_count = 30; public Reservation(){ seat = new boolean[seat_count]; for(int i = 0; i < seat.length; i++){ seat[i] = false; } } public static void main(String args[]){ Reservation res = new Reservation(); Scanner sc = new Scanner(System.in); System.out.print("請問要預約戲院座位嗎?[Y/N]:"); String answer = sc.nextLine(); while(answer.equals("y") || answer.equals("Y")){ if(!res.Reserve()){ break; } System.out.print("請問還要預約戲院座位嗎?[Y/N]:"); answer = sc.nextLine(); } } public boolean Reserve(){ if(seat_count > 0){ Random ran = new Random(); int order = (int) (ran.nextFloat() * seat_count) + 1; int seat_number = 1; while(order > 0){ if(seat[seat_number - 1] == false){ order--; } seat_number++; } seat[seat_number-2] = true; seat_count--; System.out.println("你預約到 " + (seat_number - 1) + " 號座位"); return true; } else{ System.out.println("不好意思位子已滿!!!"); return false; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.125.228.176 ※ 編輯: joetsai 來自: 122.125.228.176 (08/12 22:01)
slalala:我選位置那邊會用NextInt...限定為3O 61.59.146.26 08/13 02:33
slalala:ran.nextInt(30)+1 61.59.146.26 08/13 02:41
joetsai:限定要以nextFloat()選位置 沒打清楚 抱歉 122.125.229.18 08/13 08:27
runtime:判斷Yy我會先統一轉小寫再判斷 163.22.18.83 08/14 15:39