`

键盘输入

 
阅读更多
一、通过java.util.Scanner类获取输入


import java.util.Scanner;

public class data{
  public static void main(String[] args){   
    Scanner input = new Scanner(System.in);  
 
    System.out.println("输入一个数");
     int data_1 = input.nextInt();
     
    System.out.println("输入一个字符");
     String str = input.next();
    
    System.out.println("输入一个实数");
    double data_2 = input.nextDouble();
    String huiche = input.nextLine();
    /*
    nextXXX()方法的工作原理:

       从一行中扫描,直到碰到特定的标识符:空格或是换行符(\n),便获取之前的东西。
       nextDouble()读取了之前的数据,但并没有读入"\n",也不负责换行,然后就把 "\n"丢给了nextLine()处理,
        nextLine()看见“\n”就收了,然后扫描了 \n 之前的内容,也就是空字符串。于是出现问题了。
    */    

    System.out.println("输入一行字符:");   
    String str2 = input.nextLine();
    
    System.out.println("输入的这个数为:"+data_1);     
    System.out.println("输入的这个字符为:"+str);
    System.out.println("输入的这个实数为:"+data_2);
    System.out.println("输入的这个字符为:"+str2);
    }
}



二、通过输入流获取输入


第一个JAVA文件


import java.io.*;
class MuLei{
	private BufferedReader br=null;
	public MuLei(){
		br=new BufferedReader(new InputStreamReader(System.in));
	}
	public int fun(String str){
		System.out.println(str);
		int a=0;
		try{
			a=Integer.parseInt(br.readLine());
		}catch(Exception e){
			System.out.println("请输入一个整数!");
			fun(str);
		}
		return a;
	}
	public void add(int a,int b){
		System.out.printf("%s+%s=%s",a,b,(a+b));
	}
}




第二个JAVA文件:


public int fun(String str){
		System.out.println(str);
		int a=0;
		try{
			a=Integer.parseInt(br.readLine());
		}catch(Exception e){
			System.out.println("请输入一个整数!");
			return fun(str);//注意这里,把函数的返回值要赋给a,不然a就还是初始值0。
		}
		return a;
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics