【问题标题】:How to set a value of type double inside an array如何在数组中设置double类型的值
【发布时间】:2020-01-14 04:59:09
【问题描述】:

我正在做一个程序作为练习,我希望能够修复一个 double 类型值的数组。 我无法解决的问题:” 公共 int T[] = 新 int[i];"。 作为错误:“非法修改参数T”。

import java.util.Scanner;

public class CC {

    public static void main(String[] args) {
        Scanner tastiera = new Scanner(System.in);

        String comando;
        comando = tastiera.next();
        double soldiconto, uscita, entrata;
        int i = 0;
        soldiconto = 0;
        entrata = 0;
        uscita = 0;
        public int T[] = new int[i];


        while (i < 365) {

        System.out.println("v - versamento");
        System.out.println("p - prelievo");
        System.out.println("s - saldo");
        System.out.println("l - lista movimenti");
        System.out.println("x - exit");

        if (comando.equals("v")) { System.out.println("Quanto vuoi versare?");
        entrata = tastiera.nextInt();   
        soldiconto = soldiconto + entrata;
        T[T.length-1] = entrata;
        }


        if (comando.equals("p")) { System.out.println("Quanto vuoi prelevare?");
        uscita = tastiera.nextInt();    
        soldiconto = soldiconto - uscita;
        T[T.length-1] = -uscita;
        }


        if (comando.equals("s")) { System.out.println("Saldo: " + soldiconto);

        }

        if (comando.equals("l")) { System.out.println("Lista degli ultimi 5 movimenti:");
        System.out.println(T[T.length-5]);
        System.out.println(T[T.length-4]);
        System.out.println(T[T.length-3]);
        System.out.println(T[T.length-2]);
        System.out.println(T[T.length-1]);
        }

        if (comando.equals("x")) { 
            System.out.println("Uscita..... ");
            break;
        }
        i++;
        }

    }

}

我希望能够查看数组的最后 5 个单元格,但它不允许我更改单个单元格的值。

【问题讨论】:

  • 您可以编辑您的问题并将纯文本和标题修改为英文吗?
  • Benvenuto su StackOverflow.com! Dove ".com" sta per "inglese"
  • 我已经翻译了文本。

标签: java arrays int double


【解决方案1】:

您打算修复的行是正确的。这是您遇到问题的行:

T[T.length-1] = entrata;

因为entrata 是双精度类型,而T[T.length-1]int。因此,您应该将 entrata 定义为 int 而不是 double

另一个问题是 i 为 0,因此您有一个包含 0 个元素的数组,并且为其分配任何值将导致 ArrayIndexOutOfBoundsException。您可能希望为 i 赋予不同的值。

【讨论】:

    猜你喜欢
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多