為了懸賞分,我也插一嘴吧!
站在用戶的角度思考問題,與客戶深入溝通,找到澧縣網(wǎng)站設計與澧縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、網(wǎng)絡空間、企業(yè)郵箱。業(yè)務覆蓋澧縣地區(qū)。
第個public打錯了,
void打錯了,
static打錯了,
括號里是 String[] args,也即字符串數(shù)組 參數(shù)的意思,
貌似有內容檢錯吧?有錯還能運行,并且你用的CMD調用執(zhí)行的,沒用相關軟件么,難道你已經(jīng)到了手寫代碼的地步了?強人?。?!
采納吧,另小小建議,打字的時候開啟中文的輸入法,某些單詞可以聯(lián)想的就不會出錯!
PS:
怎么樣設置快捷鍵打出System.out.println。
Window -- Preferences -- General -- Keys,尋找到Content Assist,選定后在下面的Binding里直接按快捷鍵組合即可,最后Apply和OK退出就好了。平時只要打出syso后即可快捷鍵按出來,建議Alt+S方便點。
看不出有問題,而且都能正常運行了,就算是沒問題了吧。不過這個需求沒說一張一張的賣。
import java.util.*;
public class Test
{
public static void main (String[] args)
{
Thread t1 = new Thread(new TicketWindow("窗口1"));
Thread t2 = new Thread(new TicketWindow("窗口2"));
Thread t3 = new Thread(new TicketWindow("窗口3"));
Thread t4 = new Thread(new TicketWindow("窗口4"));
t1.start();
t2.start();
t3.start();
t4.start();
}
}
//這是車票資源, 需要同步的是這個東西
class TicketDB {
private int ticketCount = 100;
public synchronized void getTicks(int n) throws Exception {
if(n ticketCount) throw new TicketNotEnoughException();
if(n = 0) throw new TicketNumNotValid();
ticketCount -= n;
}
public synchronized int getTicketCount() {
return ticketCount;
}
}
//售票窗口
class TicketWindow implements Runnable {
private static TicketDB td = new TicketDB();
private String name;
public TicketWindow(String name) {
this.name = name;
}
public void run() {
while(td.getTicketCount() 0) {
//模擬購票數(shù)量, 為了不處理各種異常情況,讓生成的值總是
//小于剩余數(shù)量,大于0.
Random r = new Random();
int ticketOrder = r.nextInt(td.getTicketCount()) + 1;
try {
td.getTicks(ticketOrder);
System.out.println(name + "賣出" + ticketOrder + "張票, 剩余" + td.getTicketCount() + "張票." );
} catch(Exception e) {
System.out.println(name + e.getMessage());
}
try {
Thread.sleep(2000);
} catch(Exception e) {}
}
System.out.println("票賣完," + name + "關閉");
}
}
//自定義異常
class TicketNotEnoughException extends Exception {
private String message;
public TicketNotEnoughException() {
this.message = "Ticket left is not enough!";
}
public String getMessage() {
return this.message;
}
}
class TicketNumNotValid extends Exception {
private String message;
public TicketNumNotValid() {
this.message = "Please input valid number!";
}
public String getMessage() {
return this.message;
}
}
把double[] num=null改成double[] num = new double[n]就 不會報錯了。
在null上調用num[i],是一定會報空指針的。
1、java 編譯錯誤,說明你的java代碼源文件存在明顯的語法錯誤。
2、請仔細看你的源代碼,錯誤信息提main方法所在這一行有語法錯誤。
3、你把public 寫成了 publec 了吧,低級錯誤。
4、希望對你有幫助。