所以我正在做一個分配,我必須在顯示距離的構造函數中有一個打印方法。 根據輸入在演示類中的內容,我還必須有三個獨立的get方法。 我的問題是,我試圖編寫print方法來包含一個基於哪個get使用的決策結構。 public void prt(){ DecimalFormat formatter = new DecimalFormat(「#,## 0.00」);聲明System.out.println內的決策結構
System.out.println(
"The time it takes the sound to travel " + distance +
" feet through air is " +
if (getSpeedInAir() > 0) {
formatter.format(getSpeedInAir());
}
else if (getSpeedInWater() > 0) {
formatter.format(getSpeedInWater());
}
else if (getSpeedInSteel() > 0) {
formatter.format(getSpeedInSteel());
}
else "error";
)
}
嘗試編譯後,我收到以下錯誤。
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\GlaDOS\Desktop\JavaStuff>j Speed
C:\Users\GlaDOS\Desktop\JavaStuff>del *.class
C:\Users\GlaDOS\Desktop\JavaStuff>javac Speed.java
Speed.java:43: error: illegal start of expression
" feet through air is
" + if (getSpeedInAir() > 0)
^
Speed.java:43: error: ';' expected
" feet through air is
" + if (getSpeedInAir() > 0)
^
Speed.java:43: error: not a statement
" feet through air is
" + if (getSpeedInAir() > 0)
^
Speed.java:43: error: ';' expected
" feet through air is
" + if (getSpeedInAir() > 0)
^
Speed.java:47: error: 'else' without 'if'
else if (getSpeedInWater() > 0)
^
Speed.java:56: error: not a statement
"error";)
^
Speed.java:56: error: illegal start of expression
"error";)
^
7 errors
C:\Users\GlaDOS\Desktop\JavaStuff>java Speed
Error: Could not find or load main class Speed
你不能做到這一點。使用多個打印語句或一個變量。 – SLaks