异常处理:从命令行输入5个整数,放入一整型数组,然后打印输出。。。

从命令行输入5个整数,放入一整型数组,然后打印输出。要求:

如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。

无论是否发生异常,都输出“感谢使用本程序!”

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

public class ExceptionTest2 {

public static void main(String[] args)throws Exception {
// TODO 自动生成的方法存根

try{
int a[]=new int[5];
System.out.println("输入5个整数");

for(int i=0;i<10;i++){

Scanner sc=new Scanner(System.in);
a[i]=sc.nextInt();

}

for(int j=0;j<5;j++)
{
System.out.print("a["+j+"]="+a[j]+",");
}

}
catch(ArrayIndexOutOfBoundsException e){
//System.out.println(e.getMessage());
e.printStackTrace();
}
catch(InputMismatchException e){
//System.out.println(e.getMessage());
e.printStackTrace();

}

finally{
System.out.println("感谢使用本程序");
}

}

}

时间: 2024-11-08 21:52:13

异常处理:从命令行输入5个整数,放入一整型数组,然后打印输出。。。的相关文章

有数组{2,5,6,11,15,17,22,34,45},将用户输入的任意整数放入数组正确的位 置中,保证顺序不能乱掉。例如:用户输入9,那么数组为{2,5,6,9,11,15,17,22 ,34,45}

#include <stdio.h>void main(){ int a[9]={2,5,6,11,15,17,22,34,35},b[10]={0,2,5,6,11,15,17,22,34,35},x,i,j,temp; printf("请输入一个整数:"); scanf("%d",&x); b[0]=x; for(i=0;i<10;i++) { for(j=0;j<9;j++) { if(b[j]>b[j+1]) { tem

Java命令行输入求和的简单学习

思想:命令行输入的参数,必须先转换为数字才能进行加法计算,这就需要引用java.util.Scanner; 流程框图: 源代码: //实现几个整数相加的程序 //高开拓,2015.9.26 package add; import java.util.Scanner; public class Add { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n; System.out.

Linux 命令行输入

这几天刚刚接触到Linux,在windows上安装的VMWare虚拟机,Centos7.安装什么都是贾爷和办公室的同事帮忙搞定的. 在虚拟机界面,按快捷键Ctrl+Alt+Enter,可以全屏显示Linux界面,再按一次则退出全屏. 如何在Linux里输入命令行,这个问题让我捉急了好一会儿,之后发现,选中任何一个文件夹或者什么,右键,选择在终端中打开,就进入命令行输入界面了. 可以输入su root进入root权限,输入密码时不显示的,输完回车就好 然后就能使用root权限了.在哪个文件需要使用

while循环操作,输入一个整数放入到变量n中, 如果这个整数大于0,那么计算1+2+3+……+n的结果, 否则输出“输入的数据有错误”。

import java.util.Scanner; /** * @author 蓝色以太 while循环操作,输入一个整数放入到变量n中, 如果这个整数大于0,那么计算1+2+3+--+n的结果, * 否则输出"输入的数据有错误". */ public class While2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("

输入一个整型数组,数组里有正数,也有负数。求所有子数组的和的最大值

题目: 输入一个整型数组,数组里有正数,也有负数. 数组中一个或连续的多个整数组成一个子数组. 求所有子数组的和的最大值.要求时间复杂度为 O(n). 解答: 1 public class Solution { 2 public static void main(String[] args) { 3 int[] arr = {1,-2,3,10,-4,7,2,-5}; 4 System.out.println(maxSub(arr)); 5 } 6 7 private static int ma

输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩 从大到小打印。三个功能(输入是一个函数,求平均分是一个函数,排序是一个 函数)都用函数实现,最后在main方法中调用。

/*5.输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩从大到小打印.三个功能(输入是一个函数,求平均分是一个函数,排序是一个函数)都用函数实现,最后在main方法中调用.*/ #include <stdio.h> int inputScore(){ int score; scanf("%d",&score); return score;} double avg(int scores[],int length){ int i,score = 0;

将一个任意整数插入到已排列的整型数组中,插入后,数组中的数仍保持有序

实现代码: package homework; import java.util.Scanner; public class HomeWork { public static void main(String[] args) { //將输入的数字插入到一个有序的数组中的合适位置 Scanner input = new Scanner(System.in); System.out.println("请输入一个数字:"); int num = input.nextInt(); //有序的整

从prompt输入10个人的年龄放入数组,将十个人的年龄求总和。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

[算法学习]给定一个整型数组,找出两个整数为指定整数的和(3)

问题描述: 设计一个类,包含如下两个成员函数: Save(int input) 插入一个整数到一个整数集合里. Test(int target) 检查是否存在两个数和为输入值.如果存在着两个数,则返回true,否则返回false 允许整数集合中存在相同值的元素 分析: 与[算法学习]给定一个整型数组,找出两个整数为指定整数的和(2)不同,这里需要算出的是存不存在这两个数,可以在上一篇的基础上修改一下数据结构,HashMap其中key是数值,value是数值个数,然后需要作两步判断,map中存在数