這個問題在這里已經有了答案:
package exceptions;
import java.util.ArrayList;
import java.util.List;
public class TemperatureAverage {
/** prints the average temperature from values provided as command-line arguments
*
* @param args space-separated list of temperatures
*/
public static void main(String[] args) {
try {
List<Integer> recordedTemperaturesInDegreesCelcius=new ArrayList<Integer>();
// fill the list from values provided as command-line arguments
for(String stringRepresentationOfTemperature: args) {
int temperature=Integer.parseInt(stringRepresentationOfTemperature);
recordedTemperaturesInDegreesCelcius.add(temperature);
}
}
catch(ArithmeticException e) {
System.out.println("Arithmetic error : Try to had a correct temperature (integer, no 0..etc) ");
//calculate and print the average temperature
int averageTemperature=SimpleMaths.calculateAverage(recordedTemperaturesInDegreesCelcius);
System.out.println("The average temperature is " averageTemperature);
}
}
}
uj5u.com熱心網友回復:
您recordedTemperaturesInDegreesCelcius在 內宣告try,這意味著它只能在try塊內訪問。那就是它的范圍。如果想在catchblock中訪問,需要在tryblock外宣告,如下:
public class TemperatureAverage {
public static void main(String[] args) {
List<Integer> recordedTemperaturesInDegreesCelcius=new ArrayList<Integer>();
try {
// fill the list from values provided as command-line arguments
for(String stringRepresentationOfTemperature: args) {
int temperature=Integer.parseInt(stringRepresentationOfTemperature);
recordedTemperaturesInDegreesCelcius.add(temperature);
}
}
catch(ArithmeticException e) {
System.out.println("Arithmetic error : Try to had a correct temperature (integer, no 0..etc) ");
//calculate and print the average temperature
int averageTemperature=SimpleMaths.calculateAverage(recordedTemperaturesInDegreesCelcius);
}
System.out.println("The average temperature is " averageTemperature);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/363991.html
上一篇:Java改變陣列物件的大小
下一篇:前后條件的強化和弱化
