输入一个整数,要求不管输入什么,程序都不会崩溃

用到异常处理机制的输入成绩保证程序健壮性的代码

1.编写一个程序,此程序在运行时要求用户输入一个整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。

2.要求程序必须具备足够的健壮性,不管用户输入什么样的内容,都不会崩溃。

用到了异常处理机制

import java.util.Scanner;

/*编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,2015.11.12底云飞

*程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。

要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。

*/

class Score1{

int scored;

private Scanner sc;

void set(){

sc=new Scanner(System.in);

try{

System.out.println("请输入0到100间的成绩");

scored=sc.nextInt();//表示语句可能会出现异常

}

catch(Exception e){//捕获异常

System.out.println("输入有误,请重输");

set();//返回去用这个get方法

}

}

void show()

{

if(scored<60&&scored>=0)

System.out.println("不及格");

if(scored>=60&&scored<70)

System.out.println("及格");

if(scored>=70&&scored<80)

System.out.println("中");

if(scored>=80&&scored<90)

System.out.println("良");

if(scored>=90&&scored<100)

System.out.println("优");

if(scored<0||scored>100)

{

System.out.println("输入范围不对,请重输");

set();

show();//同第一个get()方法一样

}

}

}

public class Score extends Score1{

public static void main(String args[]){

Score1 sc=new Score1();

sc.set();

sc.show();

}

}

时间: 2024-10-18 19:24:45

输入一个整数,要求不管输入什么,程序都不会崩溃的相关文章

c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码

从键盘上输入一个整数n,输出斐波纳猰数列 程序代码如下: 1 /* 2 2017年3月5日10:35:17 3 功能:n的阶乘采用的是递归方式实现 4 */ 5 6 #include "stdio.h" 7 long fun(int n) //注意此处的fun()是调用函数,两者之间没有空格 8 { 9 if (n > 1) //此处跳出递归的条件是当n = 1时 10 return (n * fun(n -1)); //当n的值满足条件或n = 2时程序还会执行该条语句 11

c语言代码编程题汇总:输入一个整数n,输出斐波纳猰数列,采用的是递归算法——源代码

输出斐波纳猰数列,采用的是递归算法 程序代码如下: 1 /* 2 2017年3月5日11:16:02 3 功能:输入一个整数n,输出斐波纳猰数列,采用的是递归算法,源代码 4 */ 5 6 #include "stdio.h" 7 int fun(int n); //fun()函数的函数声明 8 int main (void) 9 { 10 int i, n = 0; 11 12 printf ("请输入一个整数n的数值:\n "); //此时输入的n是表示第几个数

输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。

输入一个整数,判断其是否是2^n,若是,输出这 //个数,若不是,输出和它最接近的为2^n的那个整数. 附加源代码1: #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int input;//键盘输入一个整数input int i,j;//i,j待会儿存放input与左边和右边的为2^n的差值 int m,n;//保存左边,右边的与inout最接近的2^n printf("请

输入一个整数n(0&lt;n&lt;2147483647)打印“*”组成的三角形

描述    输入一个整数n(0<n<2147483647)打印"*"组成的三角形, 如下图    输入    第一行有一个整数n(0<n<2147483647)    输出    "*"组成的三角形 public class Main {     public static void main(String[] arg){         int n = 0;         Scanner scanner = new Scanner(Sys

【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)

输入一个整数,输出该数二进制表示中1的个数.如输入32,输出1. 代码实现: 方法1:与运算 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; int FindOneNumber(unsigned int num) {     int numberofOne = 0;     while (num)     {         num = num & (num - 1);         

定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

//定义一个由整数组成的数组,然后输入一个整数x,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j: //若X在此数组中,则返回数组中这个数的位置. 源代码: #include<iostream> using namespace std; void main() { int array[]={1,2,3,4,5,6,7,89,45,32,56,78,12,43,90,19};//16个数字 int x; int max=array[0]; int min=array[0]

24、输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.  思路:新建一个数组先把原数组中的奇数push进去再把偶数push进去,然后用新数组数据覆盖原数组即可 复杂度O(n),用空间换时间 class Solution { public:     void reOrderArray(vector<int> &array) {         vector<int&

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("

输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)

/* A:90~100 B:80~89 C:70~79 D:60~69 E:0~60 */ #include <stdio.h> int main() { // 1.提示输入 printf("请输入分数值:\n"); // 2.接收输入 int score; scanf("%d", &score); // 3.判断等级 (性能最高) if (score>=90 && score<=100) { // [90, 100]