2.1Scanner
2.1.1引入问题
现在Java可以输入具体的数字,但是我们没有办法可以随机输入一些数字,然后进行一些计算或者进行一些比较处理。
在python中我们经常使用 input语句,可以来看一个例子。
a=int(input(" give me a number"))
b=int(input("give me another number"))
if a >b:print("a>b")
elif a==b:print("a=b")
else:print("a<b")
这个可以随便的输入一个数字,然后进行比较,但是在Java中,我们还没有学过怎么随机输入数字(这个比较的话会在后面的语句中介绍的)。
public class mean {public static void main(String[] args) {int _abc=3;int a=2;System.out.println(_abc+a);}}
额不要管这个文件名字,mean(平均数)没算平均数,我这个只是想说我们现在只能使用数字,不能随意输入数字。
这个就需要Scanner来进行操作了,但是在Java中scanner是一个类。(class)
2.1.1scanner实现可以随意输入数字
首先,他是一个类,所以我们需要先导入这个类。
import java.util.Scanner;
然后
import java.util.Scanner;
public class odd {public static void main(String[] args) {Scanner input = new Scanner(System.in);// 读取用户输入的整数int r = input.nextInt();}
}
这个前面的三行大家应该都知道是啥意思,这个第一行是引入,第二第三行也老熟悉了。
首先来看一下右边的new Scanner(System.in)的意思指的是 我创建了一个新的Scanner 通过(System.in)进行输入系统。
而左边input Scanner 指的是我用input语句调用了Scanner这个对象。然后接下去的那一行就是我可以随机输入一个数字进入我r这个变量去了。
然后注意这里使用的是nextInt ,所以接下来r必须是int而不是double。 如果你想使用double的话可以使用nextDouble.
如果我想要计算随机一个r的圆的周长与面积的话。这个代码是这样的。
import java.util.Scanner;
public class odd {public static void main(String[] args) {System.out.println("what's the radius you wnat to calculate");Scanner input = new Scanner(System.in);// 读取用户输入的整数double r = input.nextDouble();System.out.printf("you want to calculate the circle about:r= %f \n",r);final double PI= 3.1415;double square = PI * r*r;double perimeter = 2* PI * r;System.out.printf("the raduis %f circle's square and the perimeter is %f and %f ",r,square, perimeter);}
}
首先来问一下你需要啥radius(半径),然后像刚才一样,调用了Scanner的对象,然后创建一个新的Scanner类。然后把这个要随机输入数字的类放进了一个r中,所以再终端中首先会出来一个
然后输入你想要多少半径的圆 计算面积与周长。
再代码中那个final指的是常量的意思,是不能改变的,(常量使用大写)。这个不准确。
然后再终端再回车一下就能出来结果了。
这个就是随机输入的方法。