华为机试后的总结之---输入输出,Java从键盘获取输入(不知道输入个数)——java中Scanner的hasNext()死循环的问题。

在华为机试中遇到输入输出的挑战,主要问题是利用Java的Scanner类进行未知数量的输入时出现死循环。参考链接分享了一个详细的解决方案,涉及如何处理从键盘获取整数数组,并根据给定长度n连接数组元素。例如,输入n=3,数组1,2,3,4和5,6,7,8,9,期望输出1,2,3,5,6,7,4,8,9。文章讨论了避免Scanner hasNext()方法导致的死循环问题。" 121336450,11481007,Linux系统中的用户与组管理,"['Linux', '运维', '服务器']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚开始机试,就被卡在了输入输出上,网上找了半天,贴出来:

链接如下:https://blog.youkuaiyun.com/imgcl/article/details/82875061

题目:输入任一行整形数组,和一个长度n,取n的长度一次循环使其连接在一起

 如 输入  n = 3;

输入:1,2,3,4

           5,6,7,8,9;

输出为:1,2,3,5,6,7,4,8,9

代码:

import java.util.*;
public class Main {
	static List<List<String>> mat = new ArrayList();
	static StringBuilder sb = new StringBuilder();
	public static void main(String[] args) {	
		Scanner sc = new Scanner(System.in);
		 String num = sc.nextLine();
         int n = Integer.parseInt(num);
		while(true){
			
			String str = sc.nextLine();
			if(str.equals("")){break;}
			mat.add(new LinkedList<String>(Arrays.asList(str.split(","))));
		}
  System.out.print(mat);
  while(!mat.isEmpty()){
	  for(Iterator<List<String>> itr = mat.iterator();itr.hasNext(); ){
		  List<String
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值