Java语言程序设计(七)Math类生成随机数及if语句
作者:互联网
Java有几种类型的选择语句,单向if语句,双向if语句,嵌套if语句,switch语句和条件表达式。
1.单向if语句
if(radius>=0){
area = radius*radius*PI;
System.out.println("The area for the circle of radius"+radius+"is"+area);
}
如果不符合radius>=0的条件,则不执行块内的语句,如果花括号内只有一条语句,无需进行运算,则可以直接省略花括号。
2.双向if语句
相比于单向if,双向if可以在条件为false时也能执行一些操作。
if(radius>=0){
area = radius*radius*PI;
System.out.println("The area for the circle of radius"+radius+"is"+area);
}
else{
System.out.println("Negative input");
}
如果radius大于等于0,计算并显示area的结果,如果radius小于0,打印信息"Negative input"。
3.嵌套if语句
嵌套的if语句可以实现多种选择以及进行筛选的功能。我们拿给学生成绩分类做一个例子。
if(score>=90.0)
grade='A';
else if(score>=80.0)
grade='B';
else if(score>=70.0)
grade='C';
else if(score>=60.0)
grade='D';
else grade='F';
4.Math类生成随机数
上一篇文章使用的是System.currentTimeMillis()产生两个随机数,更好的方法是使用Math类中的random()方法,调用这个方法会返回一个双精度的随机值d且满足0.0<=d<=1。这样,(int)(Math.random()*10)会返回随机的0到9之间的一位整数。我们下面举一个例子,首先由系统随机产生两个一位整数number1和number2,如果number1<number2,交换这两个数字,提示学生回答"what is number1-number2?",之后检查学生的答案,并显示答案是否正确,如果不正确,系统计算答案。要注意,Math类在java.lang包中,这个包中包含基本数据类型,数学函数,字符串类等,是唯一自动引入每个java程序的类库,所以Math类方法调用不需要先导入。程序清单如下:
import java.util.Scanner;
/**
*
* @author mjd
*/
public class Random {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int number1 = (int)(Math.random()*10);
int number2 = (int)(Math.random()*10);
if(number1<number2){
int temp=number1;
number1=number2;
number2=temp;
}
System.out.println("What is"+number1+"-"+number2+"?");
Scanner input = new Scanner(System.in);
int answer = input.nextInt();
if (number1-number2==answer)
System.out.println("You are correct!");
else
System.out.println("Your answer is wrong\n"+number1+"-"+number2+"should be"+(number1-number2));
}
}
如图所示,如果输入错误答案,会提示答案错误,并自动计算正确结果。
如果输入的结果正确,输出“you are correct”。程序正确运行,在本次程序中,为了交换变量number1和number2,首先要使用一个临时变量temp,用来存放number1的值,将number2的值赋给number1,然后将temp值给number2.
标签:语句,Java,System,radius,随机数,number1,number2,Math 来源: https://blog.51cto.com/15064656/2602780