Java如何输入一个不知道长度的数组

article/2025/11/6 8:50:21

问题引入

在校招面试的时候我踩过的一个大坑。题目第一行要求输入一个二叉树,第二行输出二叉树的之字遍历。题目本身不难,但是如何输入一个二叉树对于只会写核心代码的我还是第一次见。

首先,可以将输入二叉树转变为输入一个数组来思考,但是问题在于我们事先不知道这个数组的长度。

解决方案一

利用字符串输入转数组实现

public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("输入你的数组(以逗号隔开)");String in = sc.nextLine();String[] str = in.split(",");//以逗号隔开输入//String[] str = in.split(" ");//以空格隔开输入int[] arr = new int[str.length];for(int i = 0; i < str.length; i++){arr[i] = Integer.parseInt(str[i]);}System.out.println("你输入的数组是:" + Arrays.toString(arr));
}

执行命令,结果如下:

在这里插入图片描述

注意:

  • .split(" ")只能分割间隔空格数为1的输入,若要保证任何输入的空格数都能分隔开可使用.split("\\s+")
  • 输入用逗号隔开时可使用sc.next(),用空格隔开时只能使用sc.nextLine()

解决方案二

利用hasnext()方法判断输入长度

public static void main(String[] args) {//System.in代表标准输入,就是键盘输入Scanner sc = new Scanner(System.in);//创建列表接收数组元素List<Integer> list = new LinkedList<>();//判断是否还有下一个输入项while(sc.hasNextInt()) {list.add(sc.nextInt());}//将列表转换为数组Object[] arr = list.toArray();//输出输入项System.out.println("你输入的数组为:" + Arrays.toString(arr));
}

执行命令,输出结果如下:

在这里插入图片描述

可以看到,如果不按Ctrl + D是无法退出循环的,那么问题来了,如果实例输入不执行中止命令,就无法退出hasNext()循环了。

使用hasNext()重载

while(!sc.hasNext("%")){list.add(sc.next());
}

执行命令,查看输出结果:

在这里插入图片描述

注意:

  • hasNext()没有输入的时候返回true。

http://chatgpt.dhexx.cn/article/Jw1qMOjN.shtml

相关文章

Java键盘输入一个int数组

在线编程&#xff0c;往往第一步思路好了&#xff0c;结果输入不熟练输入半天&#xff0c;也真是醉了&#xff01; 一下列出来两个样例输入和输出&#xff1a; 【样例一】 package test1; import java.util.Arrays; import java.util.Scanner;//所有的输入和输出练习 publ…

Java从输入中读取一个数组

最近在编程中遇到了如下问题&#xff1a;如何从输入中读取一个数组&#xff0c;一直调试出问题&#xff0c;后来查阅了一些资料终于解决了。 这主要是关于scanner扫描器中的nextLine&#xff08;&#xff09;方法以及spilt&#xff08;&#xff09;方法的应用&#xff0c;代码…

java通过输入的方式给int数组赋值并输出数组

如上图所示&#xff1a;定义声明数组&#xff0c;通过扫描器类获取用户输入&#xff0c;使用for循环让用户为数组的每一个元素赋值 具体步骤&#xff1a; 声明Scanner扫描器类&#xff0c;名字为xy&#xff0c;再定义用户输入&#xff08;System.in&#xff09; 声明一个长度为…

Java——从键盘输入数组

补充知识 Java Scanner 类 java.util.Scanner 是 Java5 的新特征&#xff0c;我们可以通过 Scanner 类来获取用户的输入。 toString() 方法用于返回以一个字符串表示的 Number 对象值。 目录 补充知识一、从键盘获取不限制长度的数组输出结果 二、从键盘获取限制长度的数组输…

Java中如何通过键盘输入一个数组以及创建方式

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是Rockey&#xff0c;不知名企业的不知名Java开发工程师 &#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&#x1f44d;一下博主哦 &#x1f4dd;联系方式&#xff1a;he18339193956&…

Java中如何通过键盘输入一个数组

有时候在编写Jave的时候需要键盘输入一个数组&#xff0c;本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入&#xff0c;废话不多说&#xff0c;直接上代码&#xff1a; 第一种方法&#xff1a;&#xff08;不限制输入数组的长度&#xff09; System.out.prin…

Linux实用连接工具

背景&#xff1a; linux系统大部分是基于终端的&#xff0c;在终端上操作需要常记很多命令&#xff0c;有时候不太方便&#xff0c;这里推荐一款 我经常实用的linux桌面连接工具FinalShell。FinalShell 一款xshell替代良心国产SSH工具。 主要特性&#xff1a; 1、多平台支持…

Linux 终端连接工具

Linux 终端连接工具 一、概述 工具名称工具功能SecureCRT远程终端连接Xshell远程终端连接Xftp文件传输工具 二、SecureCRT 登录虚拟机查询IP地址ip add (系统&#xff1a;Centos OS 7)安装并打开SecureCRT软件文件 --> 连接 --> 新建会话协议&#xff1a;选择SSH主机…

Linux的安装及连接工具

安装Linux虚拟机&#xff1a;VMware 添加Linux的镜像文件&#xff1a; CentOS7CentOS-7-x86_64-Minimal-2009.iso 安装一个连接Linux的图形化界面:FinalShell

连接Linux服务器:Win免费SSH客户端工具

1Win免费SSH客户端工具a 作为一个Windows操作系统用户&#xff0c;如果想要连接Linux服务器来进行文件之间的传送&#xff0c;那么需要一个Secure Shell软件&#xff08;简称SSH的&#xff09;。实际上&#xff0c;SSH是一个网络协议&#xff0c;允许通过网络连接到Linux和Unix…

linux连接

常用连接linux工具 ​ 一般我们装linux&#xff0c;基本上都是用来做服务器的&#xff0c;而且基本上服务器也只有一个主机&#xff0c;没有键盘和显示器&#xff0c;在无法接触到物理机的情况下&#xff0c;我们如何对服务器进行管理呢&#xff1f;本篇文章&#xff0c;将会介…

连接 Linux 服务器工具推荐

最近找到一款ssh连接工具 连接 Linux 服务器工具感觉挺好用的&#xff0c;推荐一下 有时候需要远程连接到 服务器去进行一些操作&#xff0c;xshell有需要破解或者收费 1.FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux 背景也可以自己更换 我是远程…

连接linux的一些工具

SecureCRT&#xff08;官网收费&#xff09; 官网下载&#xff1a;https://www.vandyke.com/download/securecrt/download.html 我的免费绿色版百度网盘下载连接&#xff1a;http://pan.baidu.com/s/1dF5pKGh 安装完成后打开&#xff1a; 默认端口&#xff1a;22 选择保存密…

连接linux服务器工具

微信可以设置雪花昵称了&#xff0c;真漂亮&#xff01;&#xff01;&#xff01; 常用连接linux工具 ​ 一般我们装linux&#xff0c;基本上都是用来做服务器的&#xff0c;而且基本上服务器也只有一个主机&#xff0c;没有键盘和显示器&#xff0c;在无法接触到物理机的情况…

好用的linux连接工具

1、xshell 介绍&#xff1a;xshell是一个非常强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Windows平台的TELNET 协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器&#xff0c;从而比较好的达到远程控制终端的目的。xshell非常符合使用习惯&#…

常用连接linux工具

常用连接linux工具 一般我们装linux&#xff0c;基本上都是用来做服务器的&#xff0c;而且基本上服务器也只有一个主机&#xff0c;没有键盘和显示器&#xff0c;在无法接触到物理机的情况下&#xff0c;我们如何对服务器进行管理呢&#xff1f;本篇文章&#xff0c;将会介绍在…

连接Linux服务器的工具

连接Linux常用的xshell&#xff0c;可能需要破解一下 免费的FinalShell也很好用 &#xff0c;下载地址&#xff1a;FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本3.9.8,更新时间2023.1.30 - SSH工具 SSH客户端 也有使用Windows自带终端的cmd或…

推荐两款Linux服务器连接的好工具

现如今有许多linux连接的好工具&#xff0c;如Xshell、SecureCRT、Putty等&#xff0c;我通过了解以及试用&#xff0c;感觉这两款比较适合小白操作及日常工作使用。 一&#xff1a;SecureCRT 这款是公司前辈所推荐的&#xff0c;它携带可视化窗口&#xff0c;可利用窗口来进行…

常用连接linux的工具,收藏必备

一般我们装linux&#xff0c;基本上都是用来做服务器的&#xff0c;而且基本上服务器也只有一个主机&#xff0c;没有键盘和显示器&#xff0c;在无法接触到物理机的情况下&#xff0c;我们如何对服务器进行管理呢&#xff1f;本篇文章&#xff0c;将会介绍在工作中接触的常用连…

14、数 据 库:破解还原Access数据库密码

主讲老师&#xff1a;郭盛华 Microsoft Access在很多地方得到广泛使用&#xff0c;例如小型企业&#xff0c;大公司的部门。 忘记密码怎么办&#xff1f;找到修改管理员后台的账号和密码的表&#xff0c;网站是已经搭建并且打开了&#xff0c;没有任何问题&#xff0c;唯独后台…