java输入一个数字,如果在0-100之间,正常输出,如果输入数字不在这之间则提示“请正常输入”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java输入一个数字,如果在0-100之间,正常输出,如果输入数字不在这之间则提示“请正常输入”相关的知识,希望对你有一定的参考价值。

public class A
    public static void main(String args[])
        Scanner sc=new Scanner();
        if(Integer.parseInt(sc.next())<0||Integer.parseInt(sc.next())>100)

    System.out.println("请正常输入"); 
        


追问

要用try和catch那种

追答package a;
import java.util.Scanner;

public class A
    public static void main(String args[]) 
        Scanner sc=new Scanner(System.in);
        try
         int a=sc.nextInt();
         if(a<0||a>100) 
          System.out.println("请正常输入");  
          
         else
          System.out.println("你输入的数字是:"+a);
         
        catch(Exception e)
         System.out.println("请正常输入");
          
         

参考技术A /*sc.java*/

import java.util.*;
public class sc
public static void main(String[] args)
Scanner in=new Scanner(System.in);
int a=in.nextInt();
if(a>=0&&a<=100)
System.out.println(a);
else
System.out.println("请正常输入");


追问

用try和catch怎么做?

追答

import java.util.*;
public class sc
public static void main(String[] args)
Scanner in=new Scanner(System.in);
try
double a=in.nextDouble();
if(a>=0&&a<=100)
System.out.println(a);
else
System.out.println("请正常输入");
catch(Exception e)
System.out.println("请正常输入");

本回答被提问者采纳

第三章上机实践报告

一、实践题目

7-1 数字三角形 (30 分)

给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。

技术分享图片

输入格式:

输入有n+1行:

第 1 行是数字三角形的行数 n,1<=n<=100。

接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。

输出格式:

输出最大路径的值。

输入样例:

在这里给出一组输入。例如:

5 
7 
3 8 
8 1 0 
2 7 4 4
4 5 2 6 5 

输出样例:

在这里给出相应的输出。例如:

 30

二、问题描述

给出一个n层的三角形,每个位置有一个数字,到达后可获得,求到达最底层能达到的最大数字和。

三、算法描述

for(int i = n-1; i >= 1; i--)
    for(int j = 1; j<= i; j++)
        m[i][j] = max(m[i+1][j] , m[i+1][j+1]) + m[i][j];    

 

设定一个二维数组,下标从1开始,存入三角形。 而后更新m数组,令 m[ i ][ j ] 表示三角形中第 i 行第 j 个元素到底层的最大数字和,所以对于每一个元素,他可以选择走左下或者右下,所以其到达底层的最大数字和等于他左下或者右下到达底层的最大数字和之中的更大者加上他本身,可知 m[ i ][[ j ] = max(m[ i+1][ j ] , m[ i+1 ][ j+1 ])  + m[ i ][ j ],所以在更新数组时应该从最底层开始从下往上更新。更新后m[ 1 ][ 1 ]即表示顶层数字到底层的最大数字和,即为答案。

四、算法时间及空间复杂度分析

时间复杂度:

算法中用了两个for循环,故时间复杂度为O( n2 )

空间复杂度:

开辟了一个二维数组,故空间复杂度为O( n2 )

五、心得体会

此次上机,感觉难度颇大,不过最后还是都理解了,明白了动态规划只是一种途径,并不是具体的算法,没有特定的数学公式,不同的题目还是需要具体去理解,所以要想学好还是得多做题多积累。

 

 


以上是关于java输入一个数字,如果在0-100之间,正常输出,如果输入数字不在这之间则提示“请正常输入”的主要内容,如果未能解决你的问题,请参考以下文章

怎样设置才能使得textbox中输入的只是0-100之间的数字

如何在日期输入字段和数字输入字段之间进行双向同步?

c# 的WinForm 中 textbox内如何限制只输入为0-100之间的数字?

猜数字大小游戏,用户输入一个数字,如果大了就显示大了,如果小了就显示小了, 如果对了就提示正确(补充难度,只有5次机会,限制数字的范围在百位以内)

LaTeX】新手问题 输中文出乱码

Java猜数字游戏