日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

国庆课堂小结

發布時間:2024/7/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 国庆课堂小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、仔細閱讀示例:?EnumTest.java,運行它,分析運行結果。你能得到什么結論?你掌握了枚舉類型的基本用法了嗎?實驗結果如圖

二、

請運行以下代碼(TestDouble.java)你看到了什么樣的輸出,意外嗎?

意外,發現使用double類型的數值進行計算,其結果是不精確的。這個涉及到二進制與十進制的轉換問題。 N進制可以理解為:數值×基數的冪,例如我們熟悉的十進制數123.4=1×102+2×10+3×(100次冪)+4×(10-1次冪);其它進制的也是同理,例如二進制數11.01=1×2+1×(20次冪)+0+1×(2-2次冪)=十進制的3.25 double類型的數值占用64bit,即64個二進制數,除去最高位表示正負符號的位,在最低位上一定會與實際數據存在誤差(除非實際數據恰好是2n次方)。 舉個例子來說,比如要用4bit來表示小數3.26,從高到低位依次對應21,0,-1,-2次冪,根據最上面的分析,應當在二進制數11.01(對應十進制的3.25)11.10(對應十進制的3.5)之間選擇。 簡單來說就是我們給出的數值,在大多數情況下需要比64bit更多的位數才能準確表示出來(甚至是需要無窮多位),而double類型的數值只有64bit,后面舍去的位數一定會帶來誤差,無法得到“數學上精確”的結果。

解決方法——使用BigDecimal。在構建BigDecimal對象時應使用字符串而不是double數值,否則,仍有可能引發計算精度問題。

?

?

三、編寫一個程序,用戶輸入兩個數,求出其加減乘除,并用消息框顯示計算結果。

代碼如下:

//?An?addition?program?

?

import?javax.swing.JOptionPane;??//?import?class?JOptionPane

?

public?class?Addition?{

???public?static?void?main(?String?args[]?)

???{

??????String?firstNumber,???//?first?string?entered?by?user

?????????????secondNumber;??//?second?string?entered?by?user

??????int?number1,??????????//?first?number?to?add

??????????number2,??????????//?second?number?to?add

??????????sum,reduction,multiply,divide;??????????????//?sum?of?number1?and?number2

?

??????//?read?in?first?number?from?user?as?a?string

??????firstNumber?=

?????????JOptionPane.showInputDialog(?"Enter?first?integer"?);

?

??????//?read?in?second?number?from?user?as?a?string

??????secondNumber?=

?????????JOptionPane.showInputDialog(?"Enter?second?integer"?);

?

??????//?convert?numbers?from?type?String?to?type?int

??????number1?=?Integer.parseInt(?firstNumber?);?

??????number2?=?Integer.parseInt(?secondNumber?);

?

??????//?add?the?numbers

??????sum?=?number1?+?number2;

??????reduction=number1?-?number2;

??????multiply=number1?*?number2;

??????divide=number1/number2;?

?

??????//?display?the?results

??????JOptionPane.showMessageDialog(

?????????null,?"The?sum?is?"?+?sum,?"Results",

?????????JOptionPane.PLAIN_MESSAGE?);

??????JOptionPane.showMessageDialog(

???? ?????????null,?"The?reduction?is?"?+?reduction,?"Results",

???? ?????????JOptionPane.PLAIN_MESSAGE?);

??????JOptionPane.showMessageDialog(

? ?????????null,?"The?multiply?is?"?+?multiply,?"Results",

? ?????????JOptionPane.PLAIN_MESSAGE?);

??????JOptionPane.showMessageDialog(

? ?????????null,?"The?divide?is?"?+?divide,?"Results",

? ?????????JOptionPane.PLAIN_MESSAGE?);

?

??????System.exit(?0?);???//?terminate?the?program

???}

}

?

四、以下代碼的輸出結果是什么?

int?X=100;

int?Y=200;

System.out.println("X+Y="+X+Y);

System.out.println(X+Y+"=X+Y");

為什么會有這樣的輸出結果?

?

因為相加時是字符串相加,只是首尾相接,并沒有加法效果,若改為System.out.println("X+Y="+(X+Y));則輸出x+y=300

?

五、在上網時,我們經常會看到以下這種對話框,要用戶輸入一個驗證碼。如果要由你寫一個自動生成驗證碼的程序,你能完成這個任務嗎?

答:可以,源代碼如下

?

//jeson?驗證碼系統

import?java.util.*;

import?javax.swing.JOptionPane;

public?class?Verification?{

?????public?static?void?main(String?args[]){

???? ?Random?rand=new?Random();

???? ?int?ran1=0,ran2=0,ran3=0,ran4=0;//ran表示隨機數

???? ?ran1=rand.nextInt(10);

???? ?ran2=rand.nextInt(10);

???? ?ran3=rand.nextInt(10);

???? ?ran4=rand.nextInt(10);

???? ?//輸出驗證碼

???? ?JOptionPane.showMessageDialog(

???? ?????????null,?"驗證碼是"?+?ran1+ran2+ran3+ran4,?"Results",

???? ?????????JOptionPane.PLAIN_MESSAGE?);

???? ?String?firstNumber;//輸入驗證碼的載體

???? ?firstNumber?=

???? ?????????JOptionPane.showInputDialog(?"請輸入驗證碼"?);

???? ?

???? ?int?n1=Integer.parseInt(firstNumber);//將輸入的數組轉化為int型給n1

???? ?int?n2=Integer.parseInt(ran1+""+ran2+""+ran3+""+ran4+"");//將隨機數轉化為數組再轉化為int給n2

???? ?//判斷驗證碼輸入正確與否

???? ?if(n1==n2)?System.out.println("正確");

???? ?else?System.out.println("錯誤");

???? ?

?????}

}

?

轉載于:https://www.cnblogs.com/hehejeson/articles/4855987.html

總結

以上是生活随笔為你收集整理的国庆课堂小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。