Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复此错误?java.lang.arrayIndexOutOfBoundsException:0_Java_String_Int_System - Fatal编程技术网

如何修复此错误?java.lang.arrayIndexOutOfBoundsException:0

如何修复此错误?java.lang.arrayIndexOutOfBoundsException:0,java,string,int,system,Java,String,Int,System,嗨,我有这个问题,我在做一个计算器,你输入一个橘子或柠檬的重量,然后输入1kg(输入1),然后输入它的价格可以是idk 5美元(输入5)然后我把它乘以1x5=5,然后我告诉客户你将支付多少,他说idk 10美元,所以我引入10,我的计算器做5-10=5,这就是我的代码有问题的地方,客户的部分更改(10美元中的5美元)重复了2次(向我询问2次客户的支付金额),我试图输入0(零)行中:vuelto=新浮点[1];put给了我一个错误,我该如何修复它 这是密码 import java.util.Sca

嗨,我有这个问题,我在做一个计算器,你输入一个橘子或柠檬的重量,然后输入1kg(输入1),然后输入它的价格可以是idk 5美元(输入5)然后我把它乘以1x5=5,然后我告诉客户你将支付多少,他说idk 10美元,所以我引入10,我的计算器做5-10=5,这就是我的代码有问题的地方,客户的部分更改(10美元中的5美元)重复了2次(向我询问2次客户的支付金额),我试图输入0(零)行中:vuelto=新浮点[1];put给了我一个错误,我该如何修复它

这是密码

import java.util.Scanner;

public class arreglo1 {
    public static void main(String[] args) {

        Scanner ingreso = new Scanner(System.in);
        Scanner peso = new Scanner(System.in);
        Scanner precios = new Scanner(System.in);
        Scanner vuelto1 = new Scanner(System.in);

        float[] kilo; //definir un arreglo
        float[] precio;
        float[] vuelto;
        kilo = new float[2]; //iniciar un arreglo
        precio = new float[2];
        vuelto = new float[1];
        float Total;
        float Vuelto1;

        System.out.println("Ingrese el peso del Producto:");

        for (int i = 0; i < 2; i = i + 1) {

            kilo[i] = peso.nextFloat();

        }
        System.out.println("\nIngrese precio del Producto:");

        for (int j = 0; j < 2; j = j + 1) {
            precio[j] = precios.nextFloat();
        }

        //////Total A Pagar
        for (int i = 0; i < 2; i = i + 1) {
            Total = ((kilo[0] * precio[0]) + (kilo[1] * precio[1]));
            System.out.print("\nTotal a pagar: " + Total);

            //////Vuelto para el cliente

            System.out.println("\nIngrese monto con el que se va a pagar:");

            for (int b = 0; b == 0; b = b + 1) {
                vuelto[b] = vuelto1.nextFloat();
                Vuelto1 = (float)(Total - vuelto[b]) / -1;
                System.out.print("\nVuelto: " + Vuelto1);

            }
        }
    }
}
import java.util.Scanner;
公开课1{
公共静态void main(字符串[]args){
扫描仪入口=新扫描仪(System.in);
扫描仪比索=新扫描仪(系统英寸);
扫描仪precios=新扫描仪(System.in);
Scanner vuelto1=新扫描仪(System.in);
浮点数[]千;//定义不可用
浮动[]精度;
浮动[]vuelto;
基洛=新浮点数[2];//iniciar un arreglo
precio=新浮点数[2];
vuelto=新浮点数[1];
浮动总额;
浮球Vuelto1;
System.out.println(“产品比索入口”);
对于(int i=0;i<2;i=i+1){
基洛[i]=比索下特弗劳特();
}
System.out.println(“\nIngrese precio del Producto:”);
对于(int j=0;j<2;j=j+1){
precio[j]=precios.nextFloat();
}
//////完全是异教徒
对于(int i=0;i<2;i=i+1){
总计=((千[0]*precio[0])+(千[1]*precio[1]);
系统输出打印(“\n总计a页:“+总计”);
//////Vuelto para el cliente酒店
System.out.println(“\nIngrese monto con el que se va a pagar:”);
对于(intb=0;b=0;b=b+1){
vuelto[b]=vuelto1.nextFloat();
vuelto 1=(浮动)(总计-vuelto[b])/-1;
系统输出打印(“\nVuelto:+Vuelto1”);
}
}
}
}

最后一个for循环(“veulto”部分)将运行两次,因为它是前一个for循环(“Total A Pagar”部分)主体的一部分。for循环的整个主体在执行时
i为什么需要这部分代码

for (int b = 0; b == 0; b = b + 1) {
   vuelto[b] = vuelto1.nextFloat();
   Vuelto1 = (float)(Total - vuelto[b]) / -1;
   System.out.print("\nVuelto: " + Vuelto1);
}
我想,你们只想从顾客那个里读一次价格,这样就足够了 写

Vuelto1 = Math.abs((float)(Total - vuelto1.nextFloat()))
System.out.print("\nVuelto: " + Vuelto1);

注意:Math.abs()返回数字的绝对值,所以您总是得到一个正数。

代码中有4个扫描器。他们都做同样的事情。我想知道你为什么有它们……因为(int b=0;b==0;b=b+1)你只运行一次?是的,只运行一次是为了支付我买的两种产品。是的,我看到了,我删除了扫描仪,谢谢,我没有注意到xD,但仍然不知道为什么给我一个错误,我只想运行“vuelto”(为客户换钱)的一次
for (int b = 0; b == 0; b = b + 1) {
   vuelto[b] = vuelto1.nextFloat();
   Vuelto1 = (float)(Total - vuelto[b]) / -1;
   System.out.print("\nVuelto: " + Vuelto1);
}
Vuelto1 = Math.abs((float)(Total - vuelto1.nextFloat()))
System.out.print("\nVuelto: " + Vuelto1);