Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- xml
- Servlet
- Request
- POST방식
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194690
- 다형성 #부모타입 #자식타입
- Break
- 화면정의서
- CONTINUE
- GET방식
- 피그마
- webserver #WAS #ServerApp
- WAS
- 요구사항정의서
- while문
- 톰캣
- JSON형식의 response
- 매핑 #
- Forwarding
- sendRedirect
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194709&category=questiondetail&tab=community&q=1314387
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194711
- Dispatcher
- 한글깨짐
- 김영한
- Spring MVC
Archives
- Today
- Total
Step it up now
scanner 스캐너 본문
public class Scanner1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("문자열을 입력하세요: ");
// scanner.nextLine()가 입력한 문자열을 읽어서 str로 넣어준다
String str = scanner.nextLine(); //입력을 String으로 가져온다
System.out.println("입력한 문자열: " + str);
System.out.print("정수를 입력하세요: ");
int intValue = scanner.nextInt(); //입력을 int로 가져온다
System.out.println("입력한 정수: " + intValue);
System.out.print("실수를 입력하세요: ");
double doubleValue = scanner.nextDouble();//입력을 double로 가져온다
System.out.println("입력한 실수: " + doubleValue);
print("\n") = println()
System.out.print("hello\n"); // print("\n") = println()
System.out.print("hello\n");
사용자가 입력한 문자열을 그대로 출력하는 예제를 만들어보자.
exit 라는 문자가 입력되면 프로그램을 종료한다.
프로그램은 반복해서 실행된다
public class ScannerWhile1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("문자열을 입력하세요(exit: 종료)");
String str = scanner.nextLine();
if(str.equals("exit")){
System.out.println("프로그램을 종료합니다");
break;
}
System.out.println("입력한 문자열 : " + str);
}
}
}
첫 번째 숫자와 두 번째 숫자를 더해서 출력하는 프로그램을 개발하자.
첫 번째 숫자와 두 번째 숫자 모두 0을 입력하면 프로그램을 종료한다.
프로그램은 반복해서 실행된다.
public class ScannerWhile2 {
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);
}
}
}
사용자 입력을 받아 그 합계를 계산하는 프로그램을 작성해야 한다.
사용자는 한 번에 한 개의 정수를 입력할 수 있으며, 사용자가 0을 입력하면 프로그램은 종료된다.
이 때, 프로그램이 종 료될 때까지 사용자가 입력한 모든 정수의 합을 출력해야 한다
public class ScannerWhile3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum = 0;
while (true) {
System.out.println("정수를 입력하세요 (0을 입력하면 종료): ");
int num = input.nextInt();
if(num ==0){
break;
}
sum += num; //sum = sum + num; -> "num" 변수의 값이 "sum" 변수에 추가
}
System.out.println("입력한 모든 정수의 합: " + sum);
}
}
사용자로부터 하나의 정수 n 을 입력받고, 입력받은 정수 n 의 구구단을 출력하는 프로그램을 작성하세요.
public class ScannerEx4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("구구단의 숫자를 입력해주세요: ");
int num = scanner.nextInt();
System.out.println(num+ "단의 구구단: ");
for(int i = 1 ; i <=9 ; i++){
System.out.println(num + " x " + i + " = " + num * i);
}
}
}
⭐ 사용자로부터 두 개의 정수를 입력받고, 이 두 정수 사이의 모든 정수를 출력하는 프로그램을 작성하세요.
사용자에게 첫 번째 숫자를 입력받으세요. 변수의 이름은 num1 이어야 합니다.
사용자에게 두 번째 숫자를 입력받으세요. 변수의 이름은 num2 이어야 합니다.
만약 첫 번째 숫자 num1 이 두 번째 숫자 num2 보다 크다면, 두 숫자를 교환하세요.
참고: 교환을 위해 임시 변수 사용을 고려하세요.
num1 부터 num2 까지의 각 숫자를 출력하세요.
출력 결과에 유의하세요. 다음 예시와 같이 2,3,4,5 처럼 , 로 구분해서 출력해야 합니다
첫 번째 숫자를 입력하세요:2
두 번째 숫자를 입력하세요:5
두 숫자 사이의 모든 정수:2,3,4,5
public class ScannerEx5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("첫번째 숫자를 입력하세요: ");
int num1 = scanner.nextInt();
System.out.println("두번째 숫자를 입력하세요: ");
int num2 = scanner.nextInt();
// num1이 num2보다 큰 경우, 두 숫자를 교환합니다
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
// 5 6 7
System.out.println("두 숫자 사이의 모든 정수: ");
for (int i = num1; i <= num2; i++) {
System.out.print(i);
if (i != num2) {
System.out.print(",");
}
}
}
}
사용자로부터 이름과 나이를 반복해서 입력받고, 입력받은 이름과 나이를 출력하는 프로그램을 작성하세요.
사용자가 "종료"를 입력하면 프로그램이 종료되어야 합니다
이름을 입력하세요 (종료를 입력하면 종료): 자바
나이를 입력하세요: 30
입력한 이름: 자바, 나이: 30
이름을 입력하세요 (종료를 입력하면 종료): 하니
나이를 입력하세요: 20
입력한 이름: 하니, 나이: 20
이름을 입력하세요 (종료를 입력하면 종료): 종료
프로그램을 종료합니다
public class ScannerWhileEx1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true){
System.out.print("이름을 입력하세요 (종료를 입력하면 종료): " );
String name = scanner.nextLine();
if(name.equals("종료")) {
break;
}
System.out.print("나이를 입력하세요 : ");
int age = scanner.nextInt();
System.out.println("입력한 이름: " + name + ", 입력한 나이"+ age);
}
}
}
그러나,
반복시 이름을 입력할 수 없는 문제가 발생한다
왜?
public class ScannerWhileEx1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true){
System.out.print("이름을 입력하세요 (종료를 입력하면 종료): " );
String name = scanner.nextLine(); //2. 그다음 nextLine에서 \n을 읽음 -> 빈문자열 출력 후 나이 입력으로 바로 넘어감
if(name.equals("종료")) {
break;
}
System.out.print("나이를 입력하세요 : ");
int age = scanner.nextInt(); // 1. 나이+ \n 입력됨 - nextInt는 int값만 가져가기에 \n가 남음
scanner.nextLine(); // 3. 써줘야 남은 "\"를 읽어들인다
System.out.println("입력한 이름: " + name + ", 입력한 나이"+ age);
}
}
}
이름 입력이 정상작동 된다
⭐사용자로부터 여러 개의 숫자를 입력 받고, 그 숫자들의 합계와 평균을 계산하는 프로그램을 작성하세요.
사용자는 숫자를 입력하고, 마지막에는 -1을 입력하여 숫자 입력을 종료한다고 가정합니다.
모든 숫자의 입력이 끝난 후에는, 숫자들의 합계 sum 과 평균 average 를 출력하세요.
평균은 소수점 아 래까지 계산해야 합니다
public class ScannerWhileEx3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//★
int sum = 0;
int count = 0;
int num = 0;
System.out.print("숫자를 입력하세요. 입력을 중단하려면 -1을 입력하세요: ");
// while문 첫번째 방법
/* while(true) {
num = scanner.nextInt();
if(num==-1) {
break;
}
//★
sum += num; //입력한 숫자들의 합계
count++; //합한 횟수
}*/
// while문 두번째 방법
while((num = scanner.nextInt()) != -1){ //입력된 숫자가 -1이 아니면 (참) 아래 수식 실행
sum +=num;
count++;
}
double avg = (double) sum/count;
System.out.println("입력한 숫자들의 합계: " + sum);
System.out.println("입력한 숫자들의 평균: " + avg );
}
}
⭐사용자로부터 상품 정보(상품명, 가격, 수량)를 입력받고, 이들의 총 가격을 출력하는 프로그램을 작성하세요.
사용자는 여러 상품을 추가하고 결제할 수 있으며, 프로그램을 언제든지 종료할 수 있습니다.
사용자에게 다음 세 가지 옵션을 제공해야 합니다: 1: 상품 입력, 2: 결제, 3: 프로그램 종료.
옵션은 정수로 입력받으며, 옵션을 저장하는 변수의 이름은 option 이어야 합니다.
상품 입력 옵션을 선택하면, 사용자에게 상품명과 가격, 수량을 입력받으세요.
결제 옵션을 선택하면, 총 비용을 출력하고 총 비용을 0 으로 초기화하세요. (사용자가 총 비용을 확인하고, 결제를 완료했다고 가정합니다. 따라서 다음 사용자를 위해 총 비용을 다시 0 으로 초기화 해야합니다.)
프로그램 종료 옵션을 선택하면, "프로그램을 종료합니다."라는 메시지를 출력하고 프로그램을 종료하세요.
위의 세 가지 옵션 외에 다른 값을 입력하면, "올바른 옵션을 선택해주세요."라는 메시지를 출력하세요
public class ScannerWhileEx4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int totalCost = 0; //상품 누적 후 결제시 출력
while(true) {
System.out.println("1: 상품입력, 2: 결제, 3: 프로그램 종료");
int option = scanner.nextInt();
if(option == 1){
scanner.nextLine(); //이전에 입력된 \n 제거
System.out.print("상품을 입력하세요: ");
String product = scanner.nextLine();
System.out.print("상품의 가격을 입력하세요: ");
int price = scanner.nextInt();
System.out.print("구매수량을 입력하세요: ");
int quantity = scanner.nextInt();
totalCost += price * quantity; //누적값
System.out.println("상품명: "+ product +", 가격: "+price + ", 수량: "+quantity + " 합계: "+ price * quantity);
} else if (option == 2) {
System.out.println("총 비용: " + totalCost);
totalCost = 0; //총 비용 초기화
} else if (option == 3) {
System.out.println("프로그램을 종료합니다");
break;
}else{
System.out.println("올바른 옵션을 선택해주세요");
}
}
}
}
'개인공부 > java' 카테고리의 다른 글
기본형 vs 참조형 - 메서드 호출시 (0) | 2024.05.16 |
---|---|
배열 ++ 문제 다시풀기 (0) | 2024.04.17 |
반복문 (0) | 2024.04.03 |
형 변환 casting (0) | 2024.04.01 |
스코프 (0) | 2024.03.31 |