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函数排序,输出成绩
注意:输出制表符时,应该用双引号对象