자바 에서 어떻게 키보드 로 숫자, 문자, 문자열 을 입력 합 니까?

4842 단어 bufferedreaderScanner
자바 는 C 에서 scanf 와 같은 기능 이 강 한 함수 가 아니 라 대부분 입 출력 대상 을 정의 합 니 다.자주 사용 하 는 종 류 는 Buffered Reader, Scanner 가 있 습 니 다.인 스 턴 스 프로그램: 첫째, Scanner 를 이용 하여 키보드 에서 integer 나 float 형 데 이 터 를 읽 습 니 다.
import java.util.*;
public class test {
	public static void main(String args[])
	{
		Scanner in=new Scanner(System.in); //使用Scanner类定义对象
		System.out.println("please input a float number");
		float a=in.nextFloat(); //接收float型数据
		System.out.println(a);
		System.out.println("please input a integer number");
		int b=in.nextInt(); //接收整形数据
		System.out.println(b);
	}
}

 둘째, Buffered Reader 를 이용 하여 키보드 에서 문자열 을 읽 고 파일 abc. txt 에 쓰기
import java.io.*;
public class Test
{
	public static void main(String[] args) throws IOException
	{
		BufferedReader buf = new BufferedReader (new InputStreamReader(System.in));
		BufferedWriter buff = new BufferedWriter(new FileWriter("abc.txt"));
		String str = buf.readLine();
		while(!str.equals("exit"))
		{
			buff.write(str);
			buff.newLine();
			str = buf.readLine();
		}
		buf.close();
		buff.close();
	}
}

 
JDK 1.5 Scanner 류 에 대한 설명
Scanner 는 SDK 1.5 에 추 가 된 클래스 이지 만 이 클래스 를 사용 하여 대상 을 만 듭 니 다. Scanner reader = new Scanner (System. in);
그리고 reader 대상 은 다음 방법 (함수) 을 호출 하여 사용자 가 명령 행 에 입력 한 각종 데이터 형식 을 읽 습 니 다: next. Bite (), nextDouble (), nextFloat, nextInt (), nextLine (), nextLong (), nextShot ()
nextLine () 방법 으로 줄 에 빈 칸 을 포함 할 수 있 습 니 다. 단 어 를 읽 으 면. next () 방법 을 호출 할 수 있 습 니 다.
 
3. Scanner 와 Buffered Reader 의 차이
명령 행 모드 에서 프로그램 에 데 이 터 를 입력 하려 면 표준 입력 문자열 대상 System. in 을 사용 할 수 있 습 니 다. 그러나 저 희 는 자주 사용 하지 않 습 니 다. System. in 이 제공 하 는 read 방법 은 매번 한 바이트 의 데이터 만 읽 을 수 있 기 때문에 평소에 사용 하 는 문자열 이나 숫자 를 읽 기 때문에 read 방법 으로 제공 하 는 기능 입 니 다.자바 SE 6 에 서 는 Scanner 류 를 사용 하여 사용자 의 입력 을 얻 을 수 있 습 니 다. Scanner 류 는 자바 util 패키지 에 있 습 니 다. Scanner 를 사용 하여 사용자 의 입력 을 얻 으 려 면 import 자바 util. Scanner 를 추가 해 야 합 니 다.이 구문. import 의 기능 은 컴 파일 러 에 게 자바 util 패키지 의 Scanner 류 를 사용 할 것 이 라 고 알려 주 는 것 입 니 다. 예 를 들 어 보 겠 습 니 다.
import java.util.Scanner;
public class Test
{
	public static void main(String[] args)
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		System.out.println("您输入的字符串是:" + scan.next());
	}
}

 
위의 프로그램 을 실행 하면 입력 한 문자열 이 아래 에 그대로 표 시 됩 니 다. 이 프로그램의 모든 문 구 를 살 펴 보 겠 습 니 다. new 는 대상 을 만 드 는 것 입 니 다. 프로그램 에서 new 는 Scanner 류 의 대상 scan 을 만 들 었 다 는 뜻 입 니 다. 단, Scanner 류 의 대상 을 만 들 때 System. in 을 매개 변수 로 해 야 합 니 다.또한 Scanner 를 System. in 대상 의 지지자 로 볼 수 있 습 니 다. System. in 은 사용자 가 입력 한 내용 을 얻 은 후에 Scanner 에 게 처리 하 라 고 건 네 주 었 습 니 다. Scanner 클래스 에서 여러 가지 방법 을 제공 합 니 다. next (): 문자열 을 얻 습 니 다.nextInt (): 가 져 온 문자열 을 int 형식의 정수 로 변환 합 니 다.nextFloat (): 가 져 온 문자열 을 float 형 으로 변환 합 니 다.nextBoolean (): 가 져 온 문자열 을 boolean 형 으로 변환 합 니 다.
Scanner 로 사용자 의 입력 을 얻 는 것 은 매우 편리 합 니 다. 그러나 Scanner 가 입력 한 근 거 는 스페이스 바 입 니 다. 스페이스 바, Tab 키, Enter 키 를 포함 합 니 다. 이 중 하 나 를 누 르 면 Scanner 는 다음 입력 을 되 돌려 줍 니 다. 입력 한 내용 중 에 스페이스 바 가 포함 되 어 있 을 때 현저하게 나타 납 니 다.Scanner 를 사용 하면 입력 한 문자열 을 완전 하 게 얻 을 수 없습니다. 이 때 우 리 는 Buffered Reader 클래스 를 사용 하여 입력 하 는 것 을 고려 할 수 있 습 니 다. 사실 자바 SE 1.4 및 이전 버 전에 서 Scanner 방법 을 제공 하지 않 았 습 니 다. 우리 가 입력 을 받 았 을 때 도 BufferReader 를 사용 하 는. Buffered Reader 클래스 는 자바. io 패키지 에 있 기 때문에 이 종 류 를 사용 해 야 합 니 다.java. io 이 가방 을 도입 하려 면 import java. io. BufferedReader 를 사용 합 니 다. BufferedReader 대상 의 readLine () 방법 을 사용 하려 면 java. io. IOException 이상 (Exception) 을 처리 해 야 합 니 다. BufferedReader 를 사용 하여 입력 을 얻 으 려 면 이해 하기 가 훨씬 복잡 합 니 다. 하지만 이 방법 을 사용 하 는 것 은 고정 적 입 니 다. 매번 사용 하기 전에 법 대로 만 들 면 됩 니 다.
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));String text = buffer.readLine();readLine () 방법 은 사용자 가 Enter 키 를 누 르 기 전의 모든 문자 입력 을 되 돌려 줍 니 다. 마지막 으로 누 른 Enter 반환 문 자 는 포함 되 지 않 습 니 다. 전체 예제 프로그램 은 다음 과 같 습 니 다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestBufferedReader
{
	public static void main(String[] args) throws IOException
	{
		BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("请输入一串字符串");
		String text = buffer.readLine();
		System.out.println("您输入的字符串是:" + text);
	}
}

  4. System. in. read 를 이용 하여 키보드 에서 char 형 데 이 터 를 읽 습 니 다.
System.out.println("please input a char");
		char c=(char)System.in.read();
		System.out.println(c);

 

좋은 웹페이지 즐겨찾기