묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
JAVA Scanner
package bufferTest; import java.util.Scanner; public class BufferTest {public static void main(String[] args) {Scanner scan = new Scanner(System.in); String a = scan.next(); String[] arr1 = {"a"}; System.out.println(System.identityHashCode(a));System.out.println(System.identityHashCode(arr1[0])); }} 왜 arr[0]과 a의 주소 값이 다른가요..???답변 주시면 정말 감사하겠습니다!
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[7. Scanner][문제와풀이4] ScannerWhileEx3 질문
안녕하세요 선생님, 선생님께서 남겨주신 코드와 다르게 제 코드처럼 작성해도 무방할지 질문드립니다. [선생님 코드] 선생님께서 작성하신 코드는 input 지역변수의 스코프 값이 넓습니다.public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum = 0; int count = 0; int input = 0; System.out.println("숫자를 입력하세요, 입력을 중단하려면 -1을 입력하세요 : "); while (true) { input = scanner.nextInt(); if (input == -1) { break; } sum += input; count++; } double average = (double) sum / count; System.out.println("입력한 숫자들의 합계 : " + sum); System.out.println("입력한 숫자들의 평균 : " + average); }[제가 작성한 코드] 저는 input의 스코프값이 넓다고 생각해서 자체적으로 while문에서만 해당 변수를 부여하고, 사용했는데 하기와 같이 사용해도 무방할까요?public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum = 0; int count = 0; System.out.println("숫자를 입력하세요, 입력을 중단하려면 -1을 입력하세요 : "); while (true) { int input = scanner.nextInt(); if (input == -1) { break; } sum += input; count++; } double average = (double) sum / count; System.out.println("입력한 숫자들의 합계 : " + sum); System.out.println("입력한 숫자들의 평균 : " + average);
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[Scanner] 7-3.반복예제(ScannerWhile3) 질문
안녕하세요 선생님 선생님께서 작성하신 코드와 다르게 하기 코드처럼 작성해도 무방할까요?코드 결과값은 동일하게 나타내는 것으로 확인되었습니다. 다만 차이가 있거나 더 좋은 코드를 작성한다면 어떤 코드가 좋을지 몰라 질문드립니다![선생님 작성 코드] - while문 출력 후 -> 입력 정수의 합 출력public static void main(String[] args) { Scanner input = new Scanner(System.in); int sum = 0; while (true) { System.out.print("정수를 입력하세요 (0을 입력하면 종료) : "); int num = input.nextInt(); if (num == 0) { break; } sum += num; } System.out.println("입력한 모든 정수의 합 : " + sum);[제가 작성한 코드] while문 내 if 구문에서 -> 입력 정수의 합 출력public static void main(String[] args) { Scanner input = new Scanner(System.in); int sum = 0; while (true) { System.out.print("정수를 입력하세요 (0을 입력하면 종료) : "); int num = input.nextInt(); if (num == 0) { System.out.println("입력한 모든 정수의 합 : " + sum); break; } sum += num; }
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Scanner 큐
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("첫 번째 숫자와 두 번째 숫자 모두 0을 입력하면 프로그램을 종료합니다."); while (true) { System.out.print("첫 번째 숫자를 입력하세요:"); int num1 = scanner.nextInt(); System.out.print("두 번째 숫자를 입력하세요:"); int num2 = scanner.nextInt(); if (num1 == 0 && num2 == 0) { System.out.println("프로그램 종료"); break; } int sum = num1 + num2; System.out.println("두 숫자의 합: " + sum); } }위 코드를 실행시켰을때첫 번째 숫자를 입력하세요 : 10\n이렇게 입력하고 두번째 줄에 두 번째 숫자를 입력하세요 : 20\n이렇게 제가 입력했다고 가정했을때 큐에서 문자열이 어떻게 들어가고 나오는지 궁금합니다.10하고 enter를 치면 num1은 정수 부분을 읽어들여서 10만 저장하고 큐에는 현재 '\n'가 남아있는 상황이고 그 이후에 20enter를 치게 된다면 20\n을 큐에 집어넣은 상황이므로 큐에는 현재 \n20\n이렇게 들어가있을텐데 여기서 num2는 바로 20을 꺼낼 수 있는 건가요?? 앞에 있는 \n 값은 무시하고 정수만 바로 뽑아내는건가요?
-
미해결김영한의 실전 자바 - 기본편
Scanner 문제
scanner.nextInt() 다음에 바로 scanner.nextLine()을 하는 이유는 무엇인가요? 그리고 위 코드처럼 하지 않을 시에 왜 이러한 결과가 발생하는지 궁금합니다.
-
미해결
if 절 작성 시, input tool 완성시켜야 하나요?
if절 작성 시, Scanner 이런 툴을 작성하고 if 절 적어도 상관없나요?아니면 문제 바이 문제 인가요?import java.util.*; psvm Scanner input = new Scanner(System.in); , , , if . . .. .