При запуске программы (созданной и запущенной в NetBeans 8.2) она будет запускать циклы подкласса только один раз, когда она должна выполняться три раза, по одному разу для каждого введенного пользователем значения переменной.
Я попытался настроить длину m [0]., Заменив ее на: m.length,> 4,> 3, => 3, => 4, преобразовал циклы for в соответствии с рекомендациями NetBeans: for (double [] m1: m).
public class ConversionRate {
public static void main(String[] args) {
//scanner for user input for variables
Scanner input = new Scanner(System.in);
//declare variables to be used
String currency;
double [][] m = new double[3][3];
//user input for starting rate to be converted
System.out.print("Enter USD or EURO as the starting currency to be " +
"converted: ");
currency = input.nextLine();
System.out.println("Enter " + m.length + " values to be converted, " +
"adding a space between each value: ");
for (int i = 0; i < m.length; i++){
for (int j = 0; j == 0; j++){
m[i][j] = input.nextDouble();
}
}
if (currency.equalsIgnoreCase("USD")){
for (int k = 0; k < m.length; k++){
System.out.println("Converted Value " +
" Conversion Rate");
System.out.println("=========================================");
System.out.println(" " + convertedUs(m,k) +
" " + conversionRateUs(m,k));
}
}
else if (currency.equalsIgnoreCase("Euro")){
for (int k = 0; k < m.length; k++){
System.out.println("Starting Value Converted Value " +
" Conversion Rate");
System.out.println("=========================================" +
"==================");
System.out.println(" " + convertedEuro(m,k) +
" " + conversionRateEuro(m,k));
}
} else {
System.out.println("Invalid selection, please try again.");
}
}
public static double conversionRateUs (double [][] m, int columnIndex){
double conversionRateUs = 0.02;
double value2 = 0.00;
for (int i = 0; i < m[0].length; i++){
value2 = m[i][columnIndex] * (0.02 * 100) / 100;
}
return value2;
}
public static double conversionRateEuro (double [][] m, int columnIndex){
double conversionRateEuro = 0.08;
double value2 = 0.00;
for (int i = 0; i < m[0].length; i++){
value2 = m[i][columnIndex] * (0.08 * 100) / 100;
}
return value2;
}
Ожидаемые результаты будут рассчитывать общую конвертированную ставку и ставку "налога" на конвертацию для выполнения начисления для каждого значения, введенного пользователем, в настоящее время отображается только первое значение.