Как исправить циклы моего подкласса от однократного зацикливания при вызове в main? - PullRequest
0 голосов
/ 02 мая 2019

При запуске программы (созданной и запущенной в 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;
}

Ожидаемые результаты будут рассчитывать общую конвертированную ставку и ставку "налога" на конвертацию для выполнения начисления для каждого значения, введенного пользователем, в настоящее время отображается только первое значение.

1 Ответ

0 голосов
/ 05 мая 2019

Я понял свою проблему, я пытался использовать многомерный массив, когда мне нужно было использовать только одномерный массив. Сейчас работаю над форматом информации, но я получил расчеты и вывод для окончательной работы соответствующим образом:

https://gist.github.com/sometowngeek/0eaf0dcec5e7318f24f66347ef3748b1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...