1.Scanner類數據的使用方法
須要導入java.util.Scanner
每種數據都有對應的輸入方法:
須要留意的是String類型,next()方法碰到空格或者回車即結束輸入,若是須要輸入一整行,包含空格,應該用nextLine();
char 類型,沒有輸入的方法;java
package java練習; import java.util.Scanner; public class S1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int x=in.nextInt(); // 10 System.out.println(x); //10 double y=in.nextDouble(); //2.2 System.out.println(y); //2.2 float z=in.nextFloat(); //1.2 System.out.println(z); //1.2 String a=in.nextLine(); //hello world System.out.println(a); //hello world String b=in.next(); //hello world System.out.println(b); //hello } }
2.Random類和Math類的random()方法
java.lang.Math,Math.random() 返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0;
若是要產生一個在80~100之間的整數應數組
package java練習; public class S1 { public static void main(String[] args) { // TODO Auto-generated method stub int x=(int)(Math.random()*20+80); System.out.println(x); //80 } }
若是用Random類,產生一個在80~100之間的整數應dom
package java練習; import java.util.Random; public class S1 { public static void main(String[] args) { // TODO Auto-generated method stub Random rand = new Random(); int x=rand.nextInt(20)+80; System.out.println(x); //93 } }
若是產生double類型隨機數,則使用nextDouble(),值是0~1.0;
3.改正下列程序函數
public class Test { public static void main(String args[]) { double a = 0.1; double b = 0.1; double c = 0.1; if((a + b + c) == 0.3){ System.out.println("等於0.3"); }else { System.out.println("不等於0.3"); } } }
此程序輸出結構爲「不等於0.3」,緣由是浮點數類型在運算時,有極小偏差。
修改方法一:使用BigDecimal類
能夠使用equals方法和compareTo方法
區別:對於BigDecimal的大小比較,用equals方法的話會不只會比較值的大小,還會比較兩個對象的精確度,而compareTo方法則不會比較精確度,只比較數值的大小。equals的返回值是boolean,而compareTo的返回值爲int,相等返回0;學習
package java練習; import java.math.BigDecimal; import java.math.MathContext; public class S1 { public static void main(String args[]) { BigDecimal a = new BigDecimal(0.1); BigDecimal b = new BigDecimal(0.1); BigDecimal c = new BigDecimal(0.1); if(a.add(b).add(c).round(new MathContext(1)).equals(new BigDecimal("0.3"))){ System.out.println("等於0.3"); }else { System.out.println("不等於0.3"); } } }
結果:「等於0.3」;
注意:使用round方法肯定精度範圍,須要用到MathContext類。
在定義new BigDecimal("0.3")時,用String類型構造,若用int類型,看下例:設計
package java練習; import java.math.BigDecimal; import java.math.MathContext; public class S1 { public static void main(String args[]) { BigDecimal a = new BigDecimal(0.3); BigDecimal b = new BigDecimal("0.3"); System.out.println(a); System.out.println(b); } }
結果:
修改方法二:code
package java練習; import java.math.BigDecimal; import java.math.MathContext; public class S1 { public static void main(String args[]) { double a = 0.1; double b = 0.1; double c = 0.1; if((a + b + c) -0.3<1e-6){ System.out.println("等於0.3"); }else { System.out.println("不等於0.3"); } } }
1.猜數遊戲
程序設計思路:
1.生成隨機價格
2.輸入猜的價格
3.比較兩個價格,若猜錯且機會沒有用完,回到2
4.輸入是否繼續,若繼續,回到1;
2.萬年曆
程序設計思路:
1.輸入年份year,月份month
2.調用yeardays求1990到year之間的全年的天數
3.調用monthdays求1到moth之間的整月的天數
4.總天數%7取餘數判斷1號爲星期幾
3.互評成績
程序設計思路:
1.設計求數組最值函數
2.在求平均值函數中,調用求最值函數,將每一個元素求和,最後減去最值求平均
3.調用sort函數排序,輸出成績
注意:輸出製表符時,應該用雙引號對象