스캐너의 한 줄 입력에서 문자열 및 입력을 읽는 방법

알랭 리프만

언어 : 자바.

목표 : 부울 배열 gridA []는 입력에서 읽은 인덱스에 대해 참이되어야합니다 (즉, 입력이 "init_start 2 4 5 init_end"이면 gridA [] 인덱스 2,4 및 5가 참이됩니다). 그렇게 많이 일할 수 있었지만 두 가지 문제가 있습니다.

입력 : init_start int int int int int (...) int init_end 예 : init_start 2 6 12 init_end

문제 : (인스턴스 변수) int L (배열의 인덱스 길이를 결정하는)의 값을 초과하는 입력의 모든 정수는 무시되어야합니다.이를 통해 Array gridA [] 도메인 외부의 정수가 영향을받지 않습니다. if (scanner.nextInt! = L) {} 사용이 작동하지 않는 것 같습니다.

또한이 메서드 또는 입력이 "init_start"로 시작될 때 시작하고 입력이 "init_end"로 끝날 때 중지 할 메서드 본문이 필요합니다. 동일한 입력에서 문자열과 정수를 모두 읽을 수 있도록 코드를 작성하는 방법은 무엇입니까?

if (scanner.Next == "init_start") 다음에 a = scanner.NextInt; 내가 예상했듯이 작동하지 않았습니다.

해결 시도 : 인터넷 검색 후 스캐너에 String initialInputStart를 넣어 보았습니다. localScanner (initialInputStart); 그러나 나는 그것을 작동시키지 못했습니다. 내가 찾은 다른 정보는 스캐너를 닫았다가 다시 열라고 제안했지만 한 줄의 입력에서 정보를 읽어야하므로 도움이 될 것 같지 않습니다.

암호:

java.util.Arrays.fill(gridA,false); 
java.util.Arrays.fill(gridB,false);
String initialInput;
String initialInputStart;
int a;
int i;//only for testing
i = 0;//only for testing

System.out.println("type integers"); //only for testing
while( scanner.hasNextInt() && i<5){ //I can't find a way to make loop stop without missing input so I'm using i temporarily
  a = scanner.nextInt();
  gridA[a] = true;
  System.out.print(a);
  System.out.print(gridA[a]+" ");
  i++;
}//end while    
톰 웰 브록

"동일한 입력에서 문자열과 정수를 모두 읽을 수 있도록 코드를 작성하는 방법은 무엇입니까?"

"123, foo"와 같은 입력을 원하십니까?

String input = scanner.nextLine();
String[] parts = input.split(",");//" " to split it at an empty space
String part1 = parts[0]; // 123
int Number = Integer.parseInt(part1) // you could inline it, but i chose this version for better refference
String part2 = parts[1]; //foo

입력이 "123 또는 foo"처럼 보이면 입력을 문자열로 읽고 나중에 문자열이 숫자인지 확인해야합니다.

String input = scanner.nextLine();
if (text.contains("[a-zA-Z]+") == false){ //looks if the input does NOT contain any characters
int nummber = Integer.parseInt(input);
} else{
String text = input;
}

나중에 텍스트를 비교할 수 있습니다.

처음 언급 한 경우 :

 if("init_start".equals(parts[1])){ //*
yourMethod();
}

다른 경우 :

  if("init_start".equals(text)){ //*
yourMethod();
}

* 또한 : "if (scanner.Next =="init_start ")를 사용하여이 작업을 수행하려고했습니다."

*매우 중요! 문자열과 같은 객체를 비교하려면 .equals ()를 사용하십시오. "=="는 기본 유형에서만 작동합니다.

편집 : 나는 당신의 예를 읽었습니다. 내 솔루션의 조합으로 갈 수 있습니다. 공백 ( "")에서 문자열을 분할하고 정수인 경우 parts [x]를 확인하십시오. 그러나 나는이 방법을 권장하지 않습니다! 입력을 세 부분으로 나누지 않는 이유 : init_start가 함수를 시작합니다. 그 후 당신의 메소드는 당신이 Integers를 삽입 한 후 "int int int"와 같은 Integers의 입력을 기대할 것입니다. 당신의 함수는 자동적으로 멈추거나 입력 "init_stop"을 기다릴 수 있습니다. 그것은 나에게 더 합리적인 것 같습니다. 단일 라인 솔루션으로 가고 싶다면 ting을 통해 int의 수를 평가할 수 있습니다.parts[].lenght()-2

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

텍스트 상자 (사용자 양식)에서 여러 줄 문자열 입력을 한 줄 입력 문자열 (vba 단어)로 변환하는 방법

분류에서Dev

Python3에서 한 줄의 입력에서 정수 배열을 읽는 방법

분류에서Dev

자바의 사용자 입력 (스캐너)에서 스크립트의 문자열, 숫자 및 배를 계산하는 방법은 무엇입니까?

분류에서Dev

Java의 스캐너에서 입력 된 문자열을 지우는 방법은 무엇입니까?

분류에서Dev

동일한 입력 줄에서 정수 및 문자열 읽기 (java)

분류에서Dev

NumPy 배열의 한 줄에서 사용자 입력을받는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 사용자가 입력 한 여러 줄 문자열을 조작하는 방법은 무엇입니까?

분류에서Dev

명령 줄에서 입력 한 문자열을 테스트하는 경우

분류에서Dev

C에서 2 줄의 정수 입력을 읽는 방법?

분류에서Dev

정수 및 여러 줄 문자열을 입력 할 때 Java 클래스 스캐너의 문제

분류에서Dev

C #에서 한 줄로 입력 된 여러 문자열 목록을 분리하는 방법

분류에서Dev

쉘 스크립팅 및 명령 줄에서 출력을 'n'문자로 제한하는 방법

분류에서Dev

한 줄 이상의 입력을 읽는 방법은 무엇입니까?

분류에서Dev

한 줄의 명령 출력 문자열에서 알려진 마지막 부분을 제거하는 방법은 무엇입니까?

분류에서Dev

2D C 배열의 문자열 입력을 한 줄씩 읽기

분류에서Dev

하스켈에서 한 줄에 여러 값을 입력하는 방법

분류에서Dev

명령 줄에서 개행 문자가있는 입력 줄을 읽는 방법은 무엇입니까?

분류에서Dev

파일을 한 줄씩 읽고 파이썬의 각 줄에서 문자열을 얻는 방법

분류에서Dev

선택한 사용자 양식 입력에서 임의의 문자열을 인쇄하는 방법 javascript / jquery

분류에서Dev

Java에서 하나의 스캐너 객체로 사용자 입력 int 및 문자열을 가져올 수없는 이유는 무엇입니까?

분류에서Dev

튜플 대신 줄에 대한 문자열 출력을 얻는 방법은 무엇입니까?

분류에서Dev

한 줄로 Java에서 여러 입력을 얻는 방법

분류에서Dev

c의 입력 문자열 및 문자열을 변수에 저장하는 방법

분류에서Dev

사용자 입력 (스캐너에서)을 가져와 전체 입력을 ASCII로 변환하는 방법

분류에서Dev

입력이 끝날 때까지 문자열을 읽고 C에서 \ n을 찾을 때까지 줄을 읽는 방법은 무엇입니까?

분류에서Dev

지문 스캐너에서 입력을 받아 저장하는 방법

분류에서Dev

C ++에서 공백 문자로 구분 된 한 줄의 입력을 정수로 나누는 간단한 방법이 있습니까?

분류에서Dev

문자열에서 한 줄에 한 단어를 출력하는 방법

분류에서Dev

사용자가 특정 키워드를 입력 한 경우 스캐너에서 읽기를 중지하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    텍스트 상자 (사용자 양식)에서 여러 줄 문자열 입력을 한 줄 입력 문자열 (vba 단어)로 변환하는 방법

  2. 2

    Python3에서 한 줄의 입력에서 정수 배열을 읽는 방법

  3. 3

    자바의 사용자 입력 (스캐너)에서 스크립트의 문자열, 숫자 및 배를 계산하는 방법은 무엇입니까?

  4. 4

    Java의 스캐너에서 입력 된 문자열을 지우는 방법은 무엇입니까?

  5. 5

    동일한 입력 줄에서 정수 및 문자열 읽기 (java)

  6. 6

    NumPy 배열의 한 줄에서 사용자 입력을받는 방법은 무엇입니까?

  7. 7

    자바 스크립트에서 사용자가 입력 한 여러 줄 문자열을 조작하는 방법은 무엇입니까?

  8. 8

    명령 줄에서 입력 한 문자열을 테스트하는 경우

  9. 9

    C에서 2 줄의 정수 입력을 읽는 방법?

  10. 10

    정수 및 여러 줄 문자열을 입력 할 때 Java 클래스 스캐너의 문제

  11. 11

    C #에서 한 줄로 입력 된 여러 문자열 목록을 분리하는 방법

  12. 12

    쉘 스크립팅 및 명령 줄에서 출력을 'n'문자로 제한하는 방법

  13. 13

    한 줄 이상의 입력을 읽는 방법은 무엇입니까?

  14. 14

    한 줄의 명령 출력 문자열에서 알려진 마지막 부분을 제거하는 방법은 무엇입니까?

  15. 15

    2D C 배열의 문자열 입력을 한 줄씩 읽기

  16. 16

    하스켈에서 한 줄에 여러 값을 입력하는 방법

  17. 17

    명령 줄에서 개행 문자가있는 입력 줄을 읽는 방법은 무엇입니까?

  18. 18

    파일을 한 줄씩 읽고 파이썬의 각 줄에서 문자열을 얻는 방법

  19. 19

    선택한 사용자 양식 입력에서 임의의 문자열을 인쇄하는 방법 javascript / jquery

  20. 20

    Java에서 하나의 스캐너 객체로 사용자 입력 int 및 문자열을 가져올 수없는 이유는 무엇입니까?

  21. 21

    튜플 대신 줄에 대한 문자열 출력을 얻는 방법은 무엇입니까?

  22. 22

    한 줄로 Java에서 여러 입력을 얻는 방법

  23. 23

    c의 입력 문자열 및 문자열을 변수에 저장하는 방법

  24. 24

    사용자 입력 (스캐너에서)을 가져와 전체 입력을 ASCII로 변환하는 방법

  25. 25

    입력이 끝날 때까지 문자열을 읽고 C에서 \ n을 찾을 때까지 줄을 읽는 방법은 무엇입니까?

  26. 26

    지문 스캐너에서 입력을 받아 저장하는 방법

  27. 27

    C ++에서 공백 문자로 구분 된 한 줄의 입력을 정수로 나누는 간단한 방법이 있습니까?

  28. 28

    문자열에서 한 줄에 한 단어를 출력하는 방법

  29. 29

    사용자가 특정 키워드를 입력 한 경우 스캐너에서 읽기를 중지하는 방법은 무엇입니까?

뜨겁다태그

보관