gpt4 book ai didi

java - 能够在JAVA数组中插入超过其长度的值

转载 作者:行者123 更新时间:2023-12-02 01:48:27 26 4
gpt4 key购买 nike

我创建了一个Java程序。我已将数组长度定义为10,但是当我给出输入3,5,18,1,3,7,16,14,15,11,13,19时,其中包含更多超过 10 个值表明程序运行良好。我是 Java 新手。请帮助我了解这是如何发生的。我的代码是:

  package ds;

import java.util.Scanner;

public class Trade {

public static void maxprofit(String[]price)
{
int []prices= new int[price.length];
for(int i=0;i<price.length;i++)
{
prices[i]=Integer.parseInt(price[i]);
}
int min=prices[0];
int max=prices[prices.length-1];

for(int i=0;i<prices.length;i++)
{
if(i<prices.length-1-i)
{
if(prices[i]<min)
{
min=prices[i];
}
if(prices[prices.length-1-i]>max)
{
max=prices[prices.length-1-i];
}
}
else
break;

}

System.out.println(max-min);
}

public static void main(String[] args) {
// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);
String prices[]=new String[10];
String input=new String();
input=sc.next();
prices=input.split(",");


maxprofit(prices);

}

}

最佳答案

input.split(",") 返回一个新数组。因此,在将该数组分配给 input 变量后,input 引用新的(更大的)数组,而不是原始的 10 个元素数组。

这两个初始化都是毫无意义的:

String prices[]=new String[10];
String input=new String();

相反,您可以编写:

String input = sc.next();
String[] prices = input.split(",");

关于java - 能够在JAVA数组中插入超过其长度的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53358546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com