java输入不知道长度的数组(输入不定长度的数组)
本文目录
- 输入不定长度的数组
- java中怎么从键盘录入一个不知长度的数组,求大神指点,题目在补充里
- java里面能不能定义数组,然后在不知道数组长度的情况下为数组赋值
- 求java高手知道,创建不知道长度的数组
- java中怎么不停的将输入的数存入数组(不知道长度),以回车结束
- J**A数组声明的问题,不知道长度
输入不定长度的数组
某些算法题的输入没有要求输入长度,而是直接输入长度未知的数组
下面讲讲如何方便地输入不定长度的数组:
java中怎么从键盘录入一个不知长度的数组,求大神指点,题目在补充里
import java.util.*;
import java.util.regex.Pattern;
public class C
{
public static void main (String args)
{
testId();
}
public static void testId()
{
Scanner scanner = new Scanner(System.in);
int length = scanner.nextInt();
scanner.nextLine();
ArrayList《ArrayList《Integer》》 intArrays = new ArrayList《ArrayList《Integer》》();
for (int i = 0; i 《 length; i++)
{
String str = scanner.nextLine();
Pattern pattern = Pattern.compile(" ");
String strForNumbers = pattern.split(str);
ArrayList《Integer》 printIds = new ArrayList《Integer》();
for (String strForNumber : strForNumbers)
{
printIds.add(Integer.parseInt(strForNumber));
}
intArrays.add(printIds);
}
int maxId = getMaxId(intArrays);
ArrayList《Integer》 breakIds = new ArrayList《Integer》();
int minId = getMinId(intArrays);
for (int i = minId; i 《 maxId; i++)
{
breakIds.add(i);
}
for (ArrayList《Integer》 printIds : intArrays)
{
breakIds.removeAll(printIds);
}
HashSet《Integer》 ids = new HashSet《Integer》();
ArrayList《Integer》 repeatIds = new ArrayList《Integer》();
for (ArrayList《Integer》 numbers : intArrays)
{
for (Integer number : numbers)
{
int previousSize = ids.size();
ids.add(number);
int currentSize = ids.size();
if (previousSize == currentSize)
{
repeatIds.add(number);
}
}
}
System.out.println(breakIds.get(0) + " " + repeatIds.get(0));
}
public static int getMaxId(ArrayList《ArrayList《Integer》》 intArrays)
{
int maxId = 0;
for (ArrayList《Integer》 ids : intArrays)
{
for (Integer id : ids)
{
if (maxId 《 id)
{
maxId = id;
}
}
}
return maxId;
}
public static int getMinId(ArrayList《ArrayList《Integer》》 intArrays)
{
int minId = Integer.MAX_VALUE;
for (ArrayList《Integer》 ids : intArrays)
{
for (Integer id : ids)
{
if (minId 》 id)
{
minId = id;
}
}
}
return minId;
}
}
这是我写的,上面两个测试通过,应该没问题,你参考下,写的有点急,有不妥之处忘多多包涵
java里面能不能定义数组,然后在不知道数组长度的情况下为数组赋值
可以,但是有可能会报数组下标越界的错误。建议先判断一下长度,再赋值。
还有就是,为什么不用ArrayList呢。用add添加,就不会有越界危险了。如果你需要数组的话,toArray()转变成数组就可以了。
求java高手知道,创建不知道长度的数组
public static void main(String args) {
Scanner scn = new Scanner(System.in);
String line;
Integer array =null;
while (!"0".equals(line = scn.nextLine())) {
String strs=line.split(" ");
int len= strs.length;
array=new Integer;
for (int i = 0; i 《 len; i++) {
array);
}
}
Arrays.sort(array);
for (int i = 0; i 《 array.length; i++) {
System.out.print(array+"\t");
}
}
//第一行输入数字,数字间用空格分开,按enter键 在第二行输入 0 按enter键后 进行排序 并输出。如图:
java中怎么不停的将输入的数存入数组(不知道长度),以回车结束
如果你是接受控制台的输入,建议使用sanner这个类,new一个这样的类,构造方法传入system.in,这个类有一个nextint方法接受数字型输入,至于存储,可以使用list,最后在调用toarray方法转成数组
J**A数组声明的问题,不知道长度
长度未知就不能用数组了,用collection类list或者Vector,都可以实现二维数组的功能。
如果有映射关系可以用map
更多文章:
iferror函数多个条件(excel的IF多条件判断公式结果不对,请帮忙看一下原因)
2026年4月5日 06:40
unsigned char是什么意思(unsingned char s=200代表什么意思)
2026年4月5日 06:00
php面试题数据库优化方法(50种方法巧妙优化你的**LServer数据库(二))
2026年4月5日 05:40
创新驱动发展战略的背景(为什么必须把创新驱动发展战略作为国家发展全局的核心)
2026年4月5日 04:40






