Java菜单驱动程序以检查数字类型

Java菜单驱动程序以检查数字类型

在Java中,我们有原始的数值数据类型,用于表示短整型、字节型、整型、长整型、浮点型和双精度浮点型。这些数值数据类型允许我们根据它们的范围来表示不同的整数和实数,因为每个特定的数据类型都有它的下限和上限。

Below are the 6 primitive numeric data types

byte: Range -128 to 127 (Size 1 byte)
short: Range -32,768 to 32,767 (Size 2 bytes)
int: Range -2,147,483,648 to 2,147,483,647 (Size 4 bytes)
long: Range -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (8 bytes)
float: Range 6 to 7 decimal digits for Fractional Numbers (Size 4 bytes)
double: Range 15 decimal digits for Fractional Numbers (Size 8 bytes)

在本文中,我们将看到如何通过使用Java编程语言来检查数字的类型。我们将使用switch case来实现该应用程序。

展示一些实例给你看

Instance-1

Suppose we have taken an integer type of value i.e. 222222 then it must show “number entered is a valid integer”.

实例-2

Suppose we have taken a double type of value i.e 120.0 then it must show “number entered is a valid double”.

Instance-3

的中文翻译为:

实例-3

Suppose we have taken a float type of value i.e 2.1 then it must show “number entered is a valid float”.

Instance-4

Suppose we have taken a byte type of value i.e 23 then it must show “number entered is a valid byte”.

Instance-5

的翻译为:

实例-5

Suppose we have taken a short type of value i.e 32,765 then it must show “number entered is a valid short”.

Instance-6

Suppose we have taken a long type of value i.e 222222222222 then it must show “number entered is a valid long”.

Syntax

To check the type of number we will check its datatype. If the datatype matches then the result will be positive otherwise negative. To check it we have a function called hasNextData_Type.

以下是检查“整数数据类型”的语法:

hasNextInt()

Following is the syntax to check “double datatype” −

hasNextDouble()

以下是检查“浮点数据类型”的语法:

hasNextFloat()

Following is the syntax to check “byte datatype” −

hasNextByte()

以下是检查“short数据类型”的语法 -

hasNextShort()

Following is the syntax to check “long datatype” −

hasNextLong()

Algorithm

Step-1 − Ask the user to enter their choice.

第二步 - 显示菜单。

步骤-3 − 要求用户输入数据。

第四步 - 使用switch case语句进行选择并执行操作。

步骤-5 - 打印结果。

Let’s see the program to understand it clearly.

Example

的中文翻译为:

示例

import java.util.*;
public class Main{
   public static void main(String args[]){
      mainLoop: while (true) {
         Scanner sc = new Scanner( System.in );
         System.out.println("\n***Menu***");
         System.out.println("1. Check for Integer");
         System.out.println("2. Check for Double");
         System.out.println("3. Check for Float");
         System.out.println("4. Check for Byte");
         System.out.println("5. Check for Short");
         System.out.println("6. Check for Long");
         System.out.println("7. Terminate the program");
         System.out.println("Enter action number (1-7): ");
         int command = sc.nextInt();
         switch(command) {
            case 1:
            int input = 0;
            System.out.println("Enter an integer for its validation");
            if(sc.hasNextInt()) {
               input = sc.nextInt();
               System.out.println(input+" is a valid Integer");
            }
            else{
               System.out.println("It is not a valid Integer");
            }
            break;
            case 2:
            double input1 = 0;
            System.out.println("Enter a Double for its validation");
            if(sc.hasNextDouble()) {
               input1 = sc.nextDouble();
               System.out.println(input1+" is a valid Double");
            }
            else {
               System.out.println("It is not a valid Double");
            }
            break;
            case 3:
            float input2;
            System.out.println("Enter a Float for its validation");
            if(sc.hasNextFloat()) {
               input2 = sc.nextFloat();
               System.out.println(input2+" is a valid Float");
            }
            else{
               System.out.println("It is not a valid Float");
            }
            break;
            case 4:
            byte input3 = 0;
            System.out.println("Enter a Byte for its validation");
            if(sc.hasNextByte()) {
               input3 = sc.nextByte();
               System.out.println(input3+" is a valid Byte");
            }
            else{
               System.out.println("It is not a valid Byte");
            }
            break;
            case 5:
            short input4 = 0;
            System.out.println("Enter a Short for its validation");
            if(sc.hasNextShort()) {
               input4 = sc.nextShort();
               System.out.println(input4+" is a valid Short");
            }
            else{
               System.out.println("It is not a valid Short");
            }

            break;
            case 6:
            long input5 = 0;
               System.out.println("Enter a Short for its validation");
               if(sc.hasNextLong()) {
                  input5 = sc.nextLong();
                  System.out.println(input5+" is a valid Long");
               }
               else{
                  System.out.println("It is not a valid Long");
               }
               break;
               case 7:
               System.out.println("Program terminated");
               break mainLoop;
               default:
               System.out.println("Wrong choice!!");
         }
      }
   }
}

Output

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
1
Enter an integer for its validation
22222
22222 is a valid Integer

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
2
Enter a Double for its validation
2.4
2.4 is a valid Double

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
3
Enter a Float for its validation
2.5
2.5 is a valid Float

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
4
Enter a Byte for its validation
123
123 is a valid Byte

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
5
Enter a Short for its validation
1234
1234 is a valid Short

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
6
Enter a Short for its validation
345
345 is a valid Long

***Menu***
1. Check for Integer
2. Check for Double
3. Check for Float
4. Check for Byte
5. Check for Short
6. Check for Long
7. Terminate the program
Enter action number (1-7):
7
Program terminated

在本文中,我们探讨了如何通过使用菜单驱动方法来检查Java中的数字类型。

以上就是Java菜单驱动程序以检查数字类型的详细内容,更多请关注编程之家其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读1k次。背景  我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法,那Java中有没有一种方式能够避免这种重复..._非瞬态的属性有哪些
文章浏览阅读3.7k次,点赞2次,收藏7次。构造TreeMap可以指定Comparator,但是不能对value字段进行排序。如果有需求对Value字段排序,例如map存放的是单词,单词出现次数,怎么按单词次数排序呢?可以先将map中的key-value放入list,然后用Collections.sort对list排序,再将排序后的list放入LinkedHashMap,最后返回LinkedHashMap就可以了。LinkedH..._map 按某个属性值排序
文章浏览阅读681次,点赞2次,收藏3次。转自:java发送http的get、post请求Http请求类package wzh.Http;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;imp..._java 报域名未知 但本地 发post 请求成功
文章浏览阅读1.4w次。SpringBoot 项目不加载 application.properties 配置文件产生原因:先是创建的SpringBoot2.几版本的项目,结果发现继续使用1.几版本的配置会有很多的问题,于是在pom.xml中把版本改回了1.5.9,然后发现项目启动时并不会加载 application.properties 配置文件。在下图中可以发现,SpringBoot2.几版本的 resou..._spring 未打包application.properties
文章浏览阅读5k次,点赞2次,收藏2次。命令jar tvf FAMS-0.0.1-SNAPSHOT.war | grep prop说明jar tvf 文件名 | grep 要搜索的内容 jar 命令参数说明用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...选项: -c 创建新档案..._虚拟机如何快速查找之前用过的jar包
文章浏览阅读4.5w次,点赞11次,收藏4次。springboot日志配置 logging.path logging.file 注意事项可能有些小伙伴会同时配置 logging.path 和 logging.file,但是又发现其中一个不生效。官方文档中有这么一句:If you want to write log files in addition to the console output youneed to set a..._deprecated configuration property 'logging.path
文章浏览阅读2.9k次。最近用到了json字符串转实体类,转集合的功能,主要代码如下: /** * json 字符串转集合 * * @author lipw * @date 2017年5月10日下午6:08:17 * @param jsonString * @param pojoCalss * 集合中的类 * @return */ public st..._net.sf.json:jsonarray.tocollection日期格式错误
文章浏览阅读2.8k次。最近在做的项目中有一个消息功能,其中像系统消息的实现,就是在消息表中只有一条记录,然后对应每个用户要标记为删除或者已读,就在另一个表中用一条记录的标记。这样设置删除或已读标记的时候,是在另一个表的 Mapper.xml 中操作的,也就不会更新消息表的缓存。有人试图在ABMapper.xml 中采用cache-ref才解决这个问题,不好使。不知道是不是我配得不对。 ABMapper.xm..._多表查询缓存怎么更新
文章浏览阅读3.8w次,点赞4次,收藏14次。一个 Java 项目,除了需要引用 JDK 外,通常都是需要引用第三方 jar 包的,那怎么添加呢?我的作法是这样的:1、将需要引用的 jar 包添加到项目的 resources 目录下,比较多也可以在 resources 下再创建一个目录来保存,这样和配置文件区分开。为什么这么做?主要是考虑把它们也放到版本库中去,做为普通的项目,别人就不能再去找 jar 包了。其实 mave..._将第三方jar包直接放在resources目录下
文章浏览阅读3.2k次。另见:json 转日期出错,JSONArray.toCollection 时间总是转化为当前时间net.sf.json 这个包还真是存在不少问题。上代码:package net.sf.ezmorph.object;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util..._datemorpherex
文章浏览阅读1.6k次。遇到这个问题,有几种可能:1、项目打包的时候 mapping.xml 没有打包进去 2、项目打包的时候,配置文件没有打包进去检查:看看项目的“WEB-INF/classes”目录下,有没有配置文件。完整目录示例:E:Deployapache-tomcatwebappsROOTWEB-INFclasses 3、启用事务处理,但没有做AOP相关配置参考:..._springboot开启定时任务 报这个错org.springframework.beans.factory.beannotofre
文章浏览阅读4.4w次,点赞2次,收藏3次。完整的异常信息:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 't..._el1008e
文章浏览阅读1.2k次。Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。1、按键排序jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造方法 TreeMap(Comparator<? super K> comparator) 传入我们自定义的比较器即可实现按键..._java map 按照key排序
文章浏览阅读2.8w次,点赞8次,收藏16次。常用的声明方式(使用静态代码块): public final static Map map = new HashMap(); static { map.put("key1", "value1"); map.put("key2", "value2"); } @SuppressWarnings("serial") private static Map<String, S..._java statis map
文章浏览阅读3.7w次,点赞8次,收藏8次。Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.问题描述Spring Boot 项目,启用事务支持时出现以下..._consider injecting the bean as one of its interfaces or forcing the use of c
文章浏览阅读1.2w次,点赞5次,收藏25次。转自: 注解@CrossOrigin解决跨域问题阅读目录:一、跨域(CORS)支持: 二、使用方法: 1、controller配置CORS 2、全局CORS配置 3、XML命名空间 4、How does it work? 5、基于过滤器的CORS支持 三、spring注解@CrossOrigin不起作用的原因 四、参考文章: 阅读正文:注解@Cro..._@corssorigin
文章浏览阅读6.3w次,点赞8次,收藏48次。application.properties 文件和 application.yml 文件有什么区别呢?yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。官方给的很多demo,都是用yml文件配置的。注意点:1,原有的key,例如spring.jpa.properties.hibernate.dialect,按“.”分割,都变成树状的配置2,key后面的冒号,后_applicaiton.yml
文章浏览阅读2w次,点赞2次,收藏10次。这个问题要从“ java.io.IOException: Server returned HTTP response code: 403 for URL: http://start.spring.io”错误说起,eclipse 创建 spring boot 项目 遇到错误:java.io.IOException: Server returned HTTP response code: 403 fo_cannot determine embedded database driver class for database type none
文章浏览阅读2.3w次,点赞7次,收藏23次。application.yml application.properties prioritystackoverflow 上有个问题是:Can application.properties and application.yml be mixed? Spring Boot 虽然做了大量的工作来简化配置,但其配置依然是相当的复杂!支持的外部配置方式就高达 17 种之多,当然这很灵活,..._apollo和application.yml的优先级
文章浏览阅读8.3k次。p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}项目启动后,控制台输出中有以下内容:[org.mybatis.spring.mapper.ClassPathMapperScanner]-No MyBatis mapper was found in '[com.xxx.xxx.dao]' package. Please check_org.mybatis.spring.mapper.classpathmapperscanner - no mybatis mapper was fou