1. 程式人生 > >java方法過載實驗:判斷鍵盤輸入的兩個資料的型別後進行比較

java方法過載實驗:判斷鍵盤輸入的兩個資料的型別後進行比較

實驗內容

使用java語言程式設計,實現鍵盤錄入兩個資料,比較兩個數是否相等(採用方法呼叫方式),輸出比較結果;

提高:對實現數字比較的方法進行過載,使之適應int、float、double、short型別的比較。

思路梳理:

接收鍵盤輸入採用Scanner物件,在不確定輸入資料的型別前將輸入資料儲存到String中,然後採用instanceof判斷輸入資料的型別;

過載的比較方法由四個,引數個數為2,引數型別分別為:int、float、double、short

程式碼實現:(TODO部分可根據需要進行完善)

package test;
import java.util.Scanner;

/**
 * 鍵盤錄入兩個資料,比較兩個數是否相等;
 * 提高:對比較方法進行過載,使之適應int,float,double,short型別的比較
 *    
 * @author jntcf
 * */
public class HelloWorld {
	public static void main(String[] args) {
		Scanner sc = new  Scanner (System.in);
		
		System.out.println("請輸入第一個數");
		String s1 = sc.next();
		System.out.println("請輸入第二個數");
		String s2 = sc.next();
		boolean isNum = false; //用於標記輸入的資料是否能確定型別,進行比較
		
		//判斷輸入的資料是否為int型,此處只選取了第一個輸入進行檢查
		//TODO
:繼續完善,1)增加對第二個輸入型別的檢查; // 2)進一步界定是否為short型別 try { Integer iCheckValue = Integer.parseInt(s1); if (iCheckValue instanceof Integer == true) { isNum = true; System.out.println("資料型別:int"); compareTwoNum(Integer.parseInt(s1),Integer.parseInt(s2)); } } catch(NumberFormatException e) { System.out.println("資料型別不是int..."); } //判斷輸入的資料是否為double型,此處只選取了第一個輸入進行檢查 //TODO:
繼續完善,1)增加對第二個輸入型別的檢查; // 2)進一步界定是否為float型別 try { Double dCheckValue = Double.parseDouble(s1); if (dCheckValue instanceof Double == true) { isNum = true; System.out.println("資料型別:double"); compareTwoNum(Double.parseDouble(s1),Double.parseDouble(s2)); } } catch(NumberFormatException e) { System.out.println("資料型別不是double..."); } if (!isNum) System.out.println("未知的資料型別, 請檢查輸入!!!"); sc.close(); } // TODO:
將比較方法的返回值型別設定為boolean // 在main函式中呼叫時,根據方法的返回值輸出本次比較的結果 public static void compareTwoNum(float a, float b) { if(a < b) { System.out.println("【float】a < b"); }else { System.out.println("【float】a >= b"); } } public static void compareTwoNum(double a,double b) { if(a < b) { System.out.println("【double】a < b"); }else { System.out.println("【double】a >= b"); } } public static void compareTwoNum(short a,short b) { if(a < b) { System.out.println("【short】a < b"); }else { System.out.println("【short】a >= b"); } } public static void compareTwoNum(int a,int b) { if(a < b) { System.out.println("【int】a < b"); } else { System.out.println("【int】a >= b"); } } }


相關推薦

java方法過載實驗判斷鍵盤輸入資料型別進行比較

實驗內容: 使用java語言程式設計,實現鍵盤錄入兩個資料,比較兩個數是否相等(採用方法呼叫方式),輸出比較結果; 提高:對實現數字比較的方法進行過載,使之適應int、float、double、short型別的比較。 思路梳理: 接收鍵盤輸入採用Scanner物件,在不確

彙編——從鍵盤輸入字串,用串操作指令判斷是否相等

 本文的程式碼示例是從鍵盤輸入兩個字串,然後藉助串操作指令 CMPSB 進行判斷。 CMPSB 指令的功能:用DS:[SI]所指的位元組單元內容減去ES:[DI]所指位元組單元內容,並且根據指令執行結果設定標誌位,然後根據DF的內容修改變址暫存器SI和DI的內容。若DF=,0,則根據串

Java方法遍歷一次數組返回結果(最大值與最小值)

遍歷 get urn 個數 gets IV 限定 null int 使用內部類來存儲要返回的結果即可實現返回多個參數 使用泛型並限定類型必須實現Comparable接口,實現重用 使用T...a實現傳入不定量個數的數組 public class ArrayAlg{

Python 等待鍵盤輸入input(),資料型別轉換int() float() str()

  demo.py: # 變數名 = input("提示資訊:") # 等待鍵盤輸入。(輸入的內容都是字串型別) # 1. 輸入蘋果的單價。 price_str = input("蘋果的單價:") # 2. 輸入蘋果的重量 weight_str = input("蘋果的重

適用於判斷使用者輸入相同型別的資訊,是否重複(如多身份證號是否重複)

checkRepeat: function (arr) { let arrlist = []; let list = []; let str = ''; for (let i = 0; i < arr.length; i++) {

深入思考java如何求資料型別為int的數的平均數

一 . 遇到的問題: 我最初通過eclipse軟體設計如下方法: public static double foraverage(int a,int b) { double c=(double)(a+b)/2; return

安卓客戶端開發XML和JSON資料交換格式的比較

最近想給網站做客戶端,因此在考慮到底是用xml還是Json的問題,剛好在網上讀到了這篇文章。 目前,在web開發領域,主要的資料交換格式有XML和JSON,對於XML相信每一個web  developer都不會感到陌生;相比之下,JSON可能對於一些新步入開發領

實驗long raw 和 blob資料型別遇到dblink的表現

首先long raw從Oracle 10g開始就不再被建議使用,建議用blob代替。同理,long建議用clob代替。 本文從運維角度實驗long raw 和 blob兩種資料型別在遇到dblink時的一些差異。 1.構造實驗環境 在A庫jingyu使用者下建立兩張表: --LONG RAW create

實現從命令列引數輸入字串型別的數值,並計算輸出數值的和。 [必做題]

import java.io.UnsupportedEncodingException; import java.util.Scanner; public class ZiFuChuanHe { public static void main(String[] args) throws

C語言中用scanf連續輸入字元型別的問題

   今天上網查了下才知道,原來scanf是從標準輸入緩衝區中讀取輸入的資料,而%c的字元輸入格式會接收回車字元,在輸入第一個scanf時輸入字元後按 回車結束,輸入緩衝中儲存了這個回車符,遇到第二個scanf時,它自動把這個回車符賦給了ch2。而如果第二個scanf的輸入格式不是%c時,由於格 式不匹配,

javascript中怎麼判斷資料型別相等

在 JavaScript 中,判斷一個變數的型別嚐嚐會用 typeof 運算子,在使用 typeof 運算子時採用引用型別儲存值會出現一個問題,無論引用的是什麼型別的物件,它都返回 "object"。 所以怎麼才能判斷兩個型別相等呢? instanceof 來解決這個問題。instanceof 運算子與 ty

Java鍵盤輸入個人信息並輸出

新手練習package 課堂練習;// 包的申明import java.util.*; //導入Java.util的所有類/** Created by Administrator on 2018/4/17 0017.*/ /鍵盤輸入個人簡歷並輸出 2018.4.17 V.1*/public cla

JAVA實驗鍵盤錄入若干學生的姓名和分數

題目 編寫一個程式,使用者可以從鍵盤錄入若干個學生的姓名和分數(程式每次提示使用者輸入“Y”或“N”決定是否繼續錄入學生資訊,如果使用者輸入“N”則使用者輸入完畢。輸入的“Y”、“N”不區分大小寫)。使用者錄入完畢後,程式按成績由高到低的順序輸出學生的姓名和分數(姓名和分數之間用一個空格分割

C++鍵盤輸入一個整數,判斷該數是幾位數,並且逆向輸出該數字

#include using namespace std; int change(int n) //逆向輸出該數 {int rn; for(int i=0;i<10;i++) { if(n>0) { rn=rn*10+n%10; n=n/10;

Java Scanner實現判斷鍵盤輸入內容

/** * 掃描流 * @author liuhuiyan * */ public class TestScanner { public static void main(String[] args) throws Exception{

初學java鍵盤輸入字串,並統計其中數字字元的個數

import java.util.Scanner; public class Test {public static void main(String[] args) {String s=null;int count = 0;Scanner in=new Scanner(System.in);System.o

Java之工具類判斷對象是否為空或null

sar 判斷 ins == span urn lean color style 1 import java.lang.reflect.Array; 2 import java.util.Collection; 3 import java.util.Map; 4

菜雞的Java課筆記 第九 接收鍵盤輸入

package mysterious; import java.util.Scanner; public class lianxi { public static void hhh (){ Scanner b = new Scanner(System.in);