一个hasnextdouble()的小问题

import java.util.Scanner;

public class ScanTest {


	 
	public static void main(String[] args) {

	System.out.println("请输入数字:");
	Scanner scan = new Scanner(System.in);
	double sum = 0;
	int m = 0;
	while (scan.hasNextDouble()) {
	double x = scan.nextDouble();
	System.out.println(x);
	m = m + 1;
	sum = sum + x;

	}
	System.out.println(m + "个数的和为" + sum);

	System.out.println(m + "个数的平均值是" + (sum / m));

	scan.close();

	}

一个hasnextdouble()的小问题_第1张图片

uploading.4e448015.gif转存失败重新上传取消

我明明传的是整数,为什么条件通过了呢?

 

查看源码可知只要这个数可以被parsedouble()就行了一个hasnextdouble()的小问题_第2张图片

你可能感兴趣的:(java)