Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。
java.net提供的樣本程式compile錯誤,急修改..
import java.util.Vector;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.format.AudioFormat;
import javax.media.format.VideoFormat;
public class CaptureDeviceFinder {
static String audioformats[] = {
AudioFormat.ALAW,
AudioFormat.DOLBYAC3,
// 略
AudioFormat.VOXWAREVR18
};
static String videoformats[] = {
VideoFormat.CINEPAK,
VideoFormat.H261,
// 略
VideoFormat.YUV
};
public static void main(String args[]) {
/* Audio capture devices */
System.out.println("CAPTURE AUDIO FORMATS:");
for (String format : audioformats) {
System.out.println("\tFormat: "+format);
Vector<CaptureDeviceInfo> devices = CaptureDeviceManager.getDeviceList(new AudioFormat(format));
if (devices.isEmpty())
System.out.println("\t\tNO CAPTURE DEVICES");
for (CaptureDeviceInfo device : devices) {
System.out.println("\t\t"+device.getName());
}
}
/* Video capture devices */
System.out.println("CAPTURE VIDEO FORMATS:");
for (String format : videoformats) {
System.out.println("\tFormat: "+format);
Vector<CaptureDeviceInfo> devices = CaptureDeviceManager.getDeviceList(new VideoFormat(format));
if (devices.isEmpty())
System.out.println("\t\tNO CAPTURE DEVICES");
for (CaptureDeviceInfo device : devices) {
System.out.println("\t\t"+device.getName());
}
}
}
}
錯誤其一
CaptureDeviceFinder.java:81: ';' expected
for (String format : audioformats) {
....................................^
請問,有看過 for(a:b){....的嗎?
甚意思?
感謝
鴨子陳 ( 初學者 1 級 )
不過for(a:b)不是用for(i=0;i<10;++i)可以取代的
例如原文for (CaptureDeviceInfo device : devices)....這個device是周邊設備讀出的,倒底有幾個?
有些周邊設備會給device.size....有些不會,不給device.size...for(i=0;i
不給device.size...那 for( i=0; i
不給device.size...那 for( i=0; i小於device.size; ++1)就掛了
所以我只有乖乖去DownLoad J2SDK5.x
淺見
鴨子陳 ( 初學者 1 級 ):
問題是在SDK不認識for(a:b)
不是JVM要更新
想當然SDK更新Compile過了JVM不用更新,可以吧!
But But But
鴨子被雷打到,真的有問題....
SDK5,Install後,它會更新Run Time Environment...
但,同鞋....java run時出現error open on regist
害我又去DownLoad Java SE run time environment(jre-6....)
總而言之,20點給有神通的鴨子陳,U deserve!!
3 個解答
- 鴨子陳Lv 51 十年前最愛解答
for(a:b)是我最近有看到,唯一的解釋是新版的JVM(JDK5.0)功能。
CaptureDeviceFinder.java:81: ';' expected這是我們一直記在心理面的for(int i=0;i<something;i++)
你要不要把你的JVM更新到最新的版本?
2009-09-16 11:35:21 補充:
ㄜ...打字慢....
把最佳解答讓給一號意見。
2009-09-16 13:25:33 補充:
for(int i=0; i
2009-09-16 13:29:30 補充:
@@
那個爛小於...
for(int i=0;i〈devices.size();i++){
CaptureDeviceInfo temp = (CaptureDeviceInfo) devices.elementAt(i);
System.out.println("\t\t"+temp.getName());
}
看有嗎?
- 段王爺Lv 71 十年前
感恩!感恩!
請copy 意見001到回答001,....20點罔賺
下載J2SE5.0後,compile過了....但出現警語
Note: CDfinder.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
請問你都怎麼處理
真的要執行Xlint嗎?
- 匿名1 十年前
for(a : b) 是 for - each
for - each是J2SE 5.0新增的語法
可應用於陣列的循序存取!!
int[] arr = {1, 2, 3, 4, 5};
for(int element : arr)
這是寫法之ㄧ!!
2009-09-16 17:42:36 補充:
最佳解答給鴨子陳好了:)
我只是給點意見而已!!
呵!! :)