最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中超過int的最大范圍問題

 更新時間:2026年05月04日 10:26:06   作者:程宇寒  
文章討論了Java中處理超過int最大范圍的整數(shù)問題,在接收到超過int范圍的參數(shù)時,直接轉(zhuǎn)換會引發(fā)異常,建議使用Long或BigInteger處理,提供了代碼示例,包括JSP頁面和Servlet處理邏輯

java中超過int的最大范圍

直接po圖片和代碼

如下圖

大家有沒有想過,在java中,如果我們要保存一個超大的整數(shù),該如何做呢?這是我心血來潮想到的一個問題。

將瀏覽器客戶端中傳遞過來的參數(shù),轉(zhuǎn)換成int類型(測試超過int的最大范圍)

有時候無法保證用戶會在文本框中輸入多大的數(shù)字,萬一用戶在文本框中輸入了一個超級大的數(shù)字提交到服務(wù)器端,我們該如何處理呢?大家可以集思廣益!

下面是jsp頁面和servlet的源代碼

如下是servlet源代碼

package com.servlet;
import java.io.IOException;
import java.math.BigDecimal;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 測試超過int的最大范圍
 */
@WebServlet("/TestInt")
public class TestInt extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String number6 = request.getParameter("number6");
		System.out.println("number6=" + number6);
		//將瀏覽器客戶端中傳遞過來的參數(shù),轉(zhuǎn)換成int類型(測試超過int的最大范圍)
		//有時候無法保證用戶會在文本框中輸入多大的數(shù)字,萬一用戶在文本框中輸入了一個超級大的數(shù)字提交到服務(wù)器端
		BigDecimal bigDecimal = new BigDecimal(number6);
		System.out.println("bigDecimal=" + bigDecimal);
		//如下:如果用int類型來接收超大數(shù)據(jù),會報錯
		int intNumber6 = Integer.parseInt(number6);
		System.out.println("intNumber6=" + intNumber6);
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

下面是testInt.jsp頁面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試超過int的最大范圍</title>
<style type="text/css">
input {
	/*文本框樣式*/
	/*border:2px solid blue;*/
	/*這是簡易寫法,這樣寫語法是合理的,而且可以可以節(jié)省時間,如果不省略,border具體對應(yīng)的屬性寫法如下:*/
	font-size: 25px;
	border-radius: 6px; /*把邊框做成圓角*/
	border-width: 2px;
	border-style: solid;
	border-color: #4B0082;
}
input[type=text], input[type=password] {
	width: 600px;
	height: 32px;
	font-size: 20px;
	border: 2px solid #8E388E;
	border-radius: 4px; /*設(shè)置邊框的4個直角變成圓角有弧度*/
	font-weight: bold; /*文本框中的文本字體加粗*/
	color: #0000a0;
	background-color: #ffff9f;
}
input[type=button], input[type=submit], input[type=reset], button {
	background-color: #8E388E;
	border-radius: 3px;
	border: none;
	padding: 6px 8px;
	color: #fff;
	font-size: 14px;
	overflow: visible;
	cursor: pointer;
	margin: 0px;
	line-height: normal;
	box-sizing: border-box;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	/*width:360px;*/
	/*height: 50px;*/
}
</style>
<script type="text/javascript">
	var jsonObj = {"userName":"ja\"\"ck"};
	console.log(jsonObj.userName);
	var testInt = 999999999999999999999999999;
	var testInt2 = 99;
	window.onload = function() {
	}
	function setInputNodeValue1(){
		$("number1").value = testInt;
	}
	function setInputNodeValue2(){
		$("number2").value = testInt + 100;
	}
	function setInputNodeValue3(){
		$("number3").value = testInt2;
	}
	function setInputNodeValue4(){
		$("number4").value = testInt2 + 100;
	}
	function setInputNodeValue5(){
		$("number5").value = testInt - 999999999999999999999999995;
	}
	function setInputNodeValue7(){
		$("number7").value = testInt - 9999999999999999995;
	}
	function $(id){
		var obj = document.getElementById(id);
		return obj;
	}
</script>
</head>
<body>
<h1>測試超過int的最大范圍</h1>
<input type="button" value="給文本框1賦值" onclick="setInputNodeValue1()">
文本框1:<input type="text" id="number1"><br/><br/>
<input type="button" value="給文本框2賦值" onclick="setInputNodeValue2()">
文本框2:<input type="text" id="number2"><br/><br/>
<input type="button" value="給文本框3賦值" onclick="setInputNodeValue3()">
文本框3:<input type="text" id="number3"><br/><br/>
<input type="button" value="給文本框4賦值" onclick="setInputNodeValue4()">
文本框4:<input type="text" id="number4"><br/><br/>
<input type="button" value="給文本框5賦值" onclick="setInputNodeValue5()">
文本框5:<input type="text" id="number5"><br/><br/>
<div style="background-color: #7CCD7C; height: 60px;border:2px solid green;">
<form action="${pageContext.request.contextPath}/TestInt" method="get">
文本框6:
<input type="text" id="number6" name="number6" value="999999999999999999999999999" size="30">
<input type="submit" value="提交到servlet">
</form>
</div>
<br/>
<input type="button" value="給文本框7賦值" onclick="setInputNodeValue7()">
文本框7:<input type="text" id="number7"><br/><br/>
</body>
</html>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Maven install 報錯

    Maven install 報錯"程序包不存在"問題的解決方法

    這篇文章主要介紹了Maven install 報錯"程序包不存在"問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Java返回文件時為圖片或pdf等設(shè)置在線預(yù)覽或下載功能

    Java返回文件時為圖片或pdf等設(shè)置在線預(yù)覽或下載功能

    這篇文章主要介紹了Java返回文件時為圖片或pdf等設(shè)置在線預(yù)覽或下載功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • SpringBoot整合MQTT并實現(xiàn)異步線程調(diào)用的問題

    SpringBoot整合MQTT并實現(xiàn)異步線程調(diào)用的問題

    這篇文章主要介紹了基于SpringBoot通過注解實現(xiàn)對mqtt消息處理的異步調(diào)用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Java簡單使用redis-zset實現(xiàn)排行榜

    Java簡單使用redis-zset實現(xiàn)排行榜

    這篇文章主要介紹了Java簡單使用redis-zset實現(xiàn)排行榜,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • SpringBoot中對SpringMVC的自動配置詳解

    SpringBoot中對SpringMVC的自動配置詳解

    這篇文章主要介紹了SpringBoot中的SpringMVC自動配置詳解,Spring MVC自動配置是Spring Boot提供的一種特性,它可以自動配置Spring MVC的相關(guān)組件,簡化了開發(fā)人員的配置工作,需要的朋友可以參考下
    2023-10-10
  • Springboot和bootstrap實現(xiàn)shiro權(quán)限控制配置過程

    Springboot和bootstrap實現(xiàn)shiro權(quán)限控制配置過程

    這篇文章主要介紹了Springboot和bootstrap實現(xiàn)shiro權(quán)限控制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • java利用遞歸實現(xiàn)類別樹示例代碼

    java利用遞歸實現(xiàn)類別樹示例代碼

    這篇文章主要給大家介紹了關(guān)于java利用遞歸實現(xiàn)類別樹的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 深入解析Spring Boot熱部署與性能優(yōu)化實踐指南

    深入解析Spring Boot熱部署與性能優(yōu)化實踐指南

    本文從Spring Boot熱部署原理入手,結(jié)合生產(chǎn)環(huán)境中的實戰(zhàn)經(jīng)驗,深入分析熱部署的底層實現(xiàn)機制,并給出性能優(yōu)化的實踐建議,幫助開發(fā)者在提升開發(fā)效率的同時保障系統(tǒng)性能,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-10-10
  • 如何在Mac下配置多個Java版本

    如何在Mac下配置多個Java版本

    這篇文章主要介紹了如何在Mac下配置多個Java版本以及需要注意的點詳細說明,需要的朋友參考下步驟吧。
    2018-02-02
  • Java?SpringBoot?中的操作事務(wù)

    Java?SpringBoot?中的操作事務(wù)

    這篇文章主要介紹了Java?SpringBoot?中的操作事務(wù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09

最新評論

海口市| 霍邱县| 青冈县| 宁德市| 合肥市| 八宿县| 湖北省| 蒙山县| 九寨沟县| 神池县| 琼中| 金塔县| 山丹县| 祁门县| 石棉县| 酉阳| 孟津县| 高陵县| 常熟市| 中阳县| 东阿县| 靖江市| 泗水县| 通辽市| 大余县| 孝感市| 长顺县| 萨嘎县| 镇宁| 忻州市| 肇东市| 文成县| 桃江县| 香河县| 土默特左旗| 乌兰察布市| 乌兰浩特市| 德兴市| 罗田县| 峡江县| 阿鲁科尔沁旗|