一:Scanner定义及使用步骤
(1)定义:
添加java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序,它可以实现键盘输入数据
(2)步骤:
1.导包:import包路径.名称;
如果需要使用的目标类,和当前类位于同一个包下,只有java.lang包下的内容不需要导包,其他的包都需要import语句。
2.创建:类名称 对象名 = new 类名称();
3.使用:对象名.成员方法
获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();
代码示例:
package Method; import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner sca = new Scanner(System.in);//创建 int n = sca.nextInt();//使用int数字 System.out.println("输入int的数字是:"+n); String str = sc.next();//使用字符串 System.out.println("输入的字符串是:"+str); } }
package Method; import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner sca = new Scanner(System.in);//使用while循环,可以持续输入,直到ctrl+D结束 while (sca.hasNextLine()) { int n = sca.nextInt(); boolean flag = EvenNumber(n); System.out.println(flag); } } }
二:关于next()和nextLine()的理解
(1)next():
一定要读取到有效字符后才可以结束输入。
对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next()不能得到带有空格的字符串。(2)nextLine():
以Enter为结束符,nextLine()方法返回的是输入回车之前的所有字符。
可以获得空白。
三: 练习
1.输入一个数,判断是否为偶数
package Method;
import java.util.Scanner;
//输入一个数,判断是否为偶数
public class Test01 {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
while (sca.hasNextLine()) {
int n = sca.nextInt();
//Test01 b = new Test01();不加static
//boolean flag = b.EvenNumber();
boolean flag = EvenNumber(n);
System.out.println(flag);
}
}
public static boolean EvenNumber ( int n){
if (n % 2 == 0) {
return true;
} else {
return false;
}
}
}
2.输入三个数,求平均数
package Method;
import java.util.Scanner;
//输入三个数,求平均数
public class Test02 {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
int a = sca.nextInt();
int b = sca.nextInt();
int c = sca.nextInt();
float average= Average(a,b,c);
System.out.println(average);
}
public static float Average(int a,int b, int c){
float average;
int sum = a+b+c;
average = sum/3;
return average;
}
}
3.编写程序数一下 1到 100 的所有整数中出现多少个数字9
package Method;
//编写程序数一下 1到 100 的所有整数中出现多少个数字9
public class Test03 {
public static void main(String[] args) {
int sum = 0;
for(int i= 1;i<=100;i++){
int count = calculate(i);
sum += count;
}
System.out.println(sum);
}
public static int calculate(int a){
int count = 0;
if(a%10==9){
count++;
}
if(a/10==9){
count++;
}
return count;
}
}
4.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/n 的值
package Method;
import java.util.Scanner;
//计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/n 的值
public class Test04 {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
int n = sca.nextInt();
double k = calculate(n);
System.out.println(k);
}
public static double calculate(int n){
double b = 0;
double m = 0;
double k = 0;
for(int i = 1;i<=n;i++){
if(i%2==0){
b +=-1.0/i;
}else {
m += 1.0/i;
}
k = b+m;
}return k;
}
}