上一题的解答(转载)

import java.util.InputMismatchException;import java.util.Scanner;

public class hi{	public static void main(String[] args)	{		// TODO Auto-generated method stub		input(3);	}

public static int[] input(int length)	{

Scanner scanner = new Scanner(System.in);		int[] array = new int[length];		int in = 0;		for (int i = 0; i < length; i++)		{			System.out.print((i + 1) + ">");			try			{				in = scanner.nextInt();			} 			catch (InputMismatchException e)			{				i--;				System.out.println("只能输入整数!");				//上次输错的那个数据还在缓冲流中。定义一个字符串变量把它读走就完了。				String clear=scanner.next();				continue;			}			array[i] = in;		}		return array;	}

}
【解释】1、你的死循环     每次catch发现错误后。i--确实没有问题,从截图可以看出你的i确实没有动。    但是还是继续提示”数据不是合法整数“。这是上一次输入错误的那个还留在输入管道中没有取走。所以会一致死循环错下去。应为你的i原定不动了。

2、解决办法    catch里,我们定义一个Sting类型的变量,把输入错误的那个数读出来。考虑输入的都可以看成字符串,所以就用String类型了。
				
时间: 2024-11-05 20:27:38

上一题的解答(转载)的相关文章

2014马哥Linux0217中对0214三题的解答

前几天在做2014马哥Linux0214的作业的时候,发现其实这三题在0217中有解答,当然觉得马哥比自己写得好太多,所以忍不住要把马哥的答案贴出来,以供自己学习. 第一题:写一个脚本,用for循环实现显示/etc/init.d/functions./etc/rc.d/rc.sysinit./etc/fstab有多少行 #!/bin/bash for fileName in /etc/init.d/functions /etc/rc.d/rc.sysinit /etc/fstab;do line

大公司面试经典数据结构与算法题C#解答

几个大公司(IBM.MicroSoft and so on)面试经典数据结构与算法题C#解答 1.链表反转 我想到了两种比较简单的方法 第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表中(也就是原链表第一个元素被插入成新链表的最后一个元素). 第二种是不需要开新的链表,而是逐步反转原链表中元素的指向,例如: 原链表是 1->2->3->4->null  被  逐步修改为 ①2->1->null.3->4->null ②3->2->

【转】js实现上一题,下一题切换小demo

本来我的实现是类似分页,每次上一题,下一题,都去请求一下服务器数据,根据题目序号显示到页面上,但是这样子效率太低下, 这里的demo代码,直接等于是把所有的题目都请求了出来,然后JavaScript控制切换题目了,其实这样子效率可能会更高一点的感觉,感觉是比较好的实现方式了. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测验表2</title&g

教你上传本地代码到github转载

原创 2015年07月03日 10:47:13 标签: 上传代码github 转载请标明出处: http://blog.csdn.net/hanhailong726188/article/details/46738929 本文出自:[海龙的博客] 开篇之前说下题外话,之前写过一篇博客,IOS-一步一步教你自定义评分星级条RatingBar,群里有人想要源码,我上传到github上了,有需要的可以去看一下,github地址自定义评分星级条 言归正传,最近有人在群里问怎么将新创建的本地代码上传到gi

A+B Problem 详细解答 (转载)

此为详细装13版 转载自:https://vijos.org/discuss/56ff2e7617f3ca063af6a0a3 全文如下,未作修改,仅供围观,不代表个人观点: 你们怎么都在做网络流,不就是一道简单的递推吗   发表于2016-04-02 10:29 而且你们假惺惺的用网络流,过程中还是要用加法,我一个加法都没用. #include <cstdio> int m, n, a[32768][32768]; int main() { scanf("%d%d", &

解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题(转载)

转载:http://www.cnblogs.com/eggTwo/p/3653825.html (一)前  言                                                                    最近一个月使用VS2012(默认框架是.net framework4.5),EF5.0开发了一套基础框架.开发完成之后,准备部署到window server 2003(公司的外网服务器).却发现 window server 2003只支持.net fra

工作上的几点建议-转载

2017-08-11 19:16 修改样式,润饰句子. 我认为这些建议不仅仅是针对工作上的,生活,学习等方面同样适用.我觉得主要地从根本上来讲,给你以下几个建议: 努力 工作要努力,随随便便过日子过四五年也是过,稍微努力的过四五年也是过,努力的过四五年也是过,何不努力好好的干. 如果努力的过好毕业后的四五年,这对我们以后的人生非常有帮助. 虚心学习多与比自己大的人(长辈)/成功人士交流学习,要虚心听取/认真分析他们的意见和建议,以免自己以后走弯路. 自由出来外面做事情,关键是自由,愉快,能学到知

Construct Binary Tree from Inorder and Postorder Traversal (算法课上的题)

Construct Binary Tree from Inorder and Postorder Traversal 这道题之前算法课上好像遇到过,思路也很简单的. 思路:后序序列的最后一个元素就是树根,然后在中序序列中找到这个元素(由于题目保证没有相同的元素,因此可以唯一找到),中序序列中这个元素的左边就是左子树的中序,右边就是右子树的中序,然后根据刚才中序序列中左右子树的元素个数可以在后序序列中找到左右子树的后序序列,然后递归的求解即可.(在去除了根节点之后,中序遍历和后序遍历的前N个树都是

猴子向右看,FOJ上某题 单调栈

N (1 <= N <= 100,000) monkeys in the mountains, conveniently numbered 1..N, are once again standing in a row. Monkey i has height Hi (1 <= Hi <= 1,000,000). Each monkey is looking to his left toward those with higher index numbers. We say that