[問題] 面試遇到的題目

看板Programming作者 (酒菜)時間16年前 (2008/08/12 21:35), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/4 (看更多)
今天去面試的考試是上機考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)

08/13 02:33, , 1F
我選位置那邊會用NextInt...限定為3O
08/13 02:33, 1F

08/13 02:41, , 2F
ran.nextInt(30)+1
08/13 02:41, 2F

08/13 08:27, , 3F
限定要以nextFloat()選位置 沒打清楚 抱歉
08/13 08:27, 3F

08/14 15:39, , 4F
判斷Yy我會先統一轉小寫再判斷
08/14 15:39, 4F
文章代碼(AID): #18eP6OoL (Programming)
文章代碼(AID): #18eP6OoL (Programming)