일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html
- autoset
- Oracle
- javaee
- rinux
- 리눅스
- 오라클
- 원형그래프
- ciscopacket
- 이것이 자바다
- VLAN
- 데이터베이스
- w3school
- 정처기필기
- 참조타입
- 자바
- NCS
- 네트워크관리사
- ospf
- 정보처리기사
- cisco packet
- Cisco
- jsp연결
- 버추얼머신
- php
- jsp
- sql
- Java
- 라우터
- 네트워크
- Today
- Total
기록해! 정리해!
자바 - 난수 , switch, break, for문, while문, 확인문제 (3장,4장) 본문
07/06
º 난수
package test;
public class test78 {
public static void main(String[] args) {
for (int i=1; i<=20; i++) {
int r = (int) (Math.random()*3)+1; // 갯수:3 시작:1
System.out.print(r+" ");
}
}
}
-- 1 의 갯수는 몇개인지 2의 갯수는 몇개인지... 나타내보자 (114p)
package test;
public class test78 {
public static void main(String[] args) {
int count1 = 0; int count2=0; int count3=0;
for (int i=1; i<=30; i++) {
int r = (int) (Math.random()*3)+1;
System.out.print(r + " ");
if(i%10 == 0) {
System.out.println(" ");
}
if(r == 1) {
count1+=1;
}else if(r == 2) {
count2+=1;
}else if(r == 3) {
count3+=1;
}
}
System.out.println(" ");
System.out.println("1의 개수:"+count1);
System.out.println("2의 개수:"+count2);
System.out.println("3의 개수:"+count3);
}
}
º 중첩 if 문
package test;
public class test78 {
public static void main(String[] args) {
int score = (int)(Math.random()*20) + 81;
System.out.println("점수"+score);
String grade;
if(score>=90){
if(score>=95) {
grade="A+";
}else {
grade="A";
}
}else {
if (score>=85) {
grade="B+";
}else {
grade="B";
}
}
System.out.println("학점: " + grade);
}
}
º if문으로 바꿔보기
-원문코드
package test;
public class test78 {
public static void main(String[] args) {
String stuff = "TV";
String res = null;
res = stuff.equals("TV")?"Walter":stuff.equals("Movie")?"white":"No Result";
System.out.print(res);
}
}
-if 문
package test;
public class test78 {
public static void main(String[] args) {
String stuff = "TV";
if(stuff == "TV") {
System.out.println("Walter");
}else if(stuff == "Movie") {
System.out.println("white");
}else {
System.out.println("No result");
}
}
}
º switch 구문 (주사위 번호 하나 뽑기)
package test;
public class test78 {
public static void main(String[] args) {
int num = (int)(Math.random()*6)+1;
switch(num) {
case 1 :
System.out.println("1번이 나왔습니다.");
break;
case 2 :
System.out.println("2번이 나왔습니다.");
break;
case 3 :
System.out.println("3번이 나왔습니다.");
break;
case 4 :
System.out.println("4번이 나왔습니다.");
break;
case 5 :
System.out.println("5번이 나왔습니다.");
break;
default :
System.out.println("6번이 나왔습니다.");
break;
}
}
}
break가 없으면 없는 곳부터 출력찍고 내려옴
- Switch 확인문제 1.
package test;
public class test78 {
public static void main(String[] args) {
int wd=0;
String days[]={"sun","mon","wed","sat"};
for(String s:days) {
switch(s) {
case "sat":
case "sun":
wd-=1;
break;
case "mon":
wd++;
case "wed":
wd+=2;
}
}
System.out.println(wd);
}
}
: sat 은 break없으니까 내려가서 sun과 같은 값 -1 임
-1 -1 +1+2 +2 = 3
- Switch 확인문제 2
package test;
public class test78 {
public static void main(String[] args) {
int wd=0;
String days[]={"sun","mon","wed","sat"};
for(String s:days) {
switch(s) {
case "sat":
case "sun":
wd -= 1;
break;
case "mon":
wd -= 1;
break;
case "wed":
wd += 2;
}
}
System.out.println(wd);
}
}
: -1 -1 -1 +2 = -1
- Switch 확인문제 3
break 는 반복문(for, while)안이나 switch안에서 사용가능
continue 는 반복문에서만 사용할 수 있다.
package test;
public class test78 {
public static void main(String[] args) {
int price= 1000;
int qty=2;
String grade="2";
double discount= 0.0;
switch(grade)
{
case"1":
discount=price*0.1;
break;
case "2":
discount=price*0.5;
continue; // 라인 16. 지우면 됨
default:
System.out.println("Thank You!");
}
System.out.println(discount);
}
}
: B
- Switch 확인문제 4.
package test;
public class test78 {
public static void main(String[] args) {
//line n1
switch (x) {
case 1 :
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
}
}
}
: A
- Switch 확인문제 5
package test;
public class test78 {
public static void main(String[] args) {
for(int i=1; i<=10; i++) {
if(i == 5) {
continue;
} // 1 2 3 4 6 7 8 9 10 <-- 5 생략
System.out.print(i + " ");
}
System.out.println("");
for(int i=1; i<=10; i++) {
switch(i) {
case 3:
continue;
} //1 2 4 5 6 7 8 9 10 <-- 3 생략
System.out.print(i + " ");
}
}
}
ㄴ continue를 break로 바꾸면
package test;
public class test78 {
public static void main(String[] args) {
for(int i=1; i<=10; i++) {
if(i == 5) {
break; // for문을 빠져나가라
} // 1 2 3 4 <-- for문을 빠져나감
System.out.print(i + " ");
}
System.out.println("");
for(int i=1; i<=10; i++) {
switch(i) {
case 3:
break; // 정지에 대한 의미
} // 1 2 3 4 5 6 7 8 9 10 <--의미가 없어짐
System.out.print(i + " ");
}
}
}
break
1) if문에서는 for 문을 빠져나가라
2) switch문에서는 정지해라
- Switch 확인문제 6
package test;
public class test78 {
public static void main(String[] args) {
boolean opt = true;
switch (opt) {
case "true":
System.out.println("True");
break;
default:
System.out.println("***");
}
System.out.println("Done");
}
}
답 A :
- Switch 확인문제 7 (지역변수)
package test;
public class test78 {
public static void main(String[] args) {
char colorcode = 'y';
switch (colorcode) {
case 'r':
int color = 100;
break;
case 'b':
color = 10;
break;
case 'y':
color = 1;
break;
}
System.out.println(color);
}
}
답 : A
º if문으로 바꿔보기
-원문 코드
package test;
public class test78 {
public static void main(String[] args) {
char grade = 'B';
switch(grade) {
case 'A':
case 'a':
System.out.println("우수 회원입니다.");
break;
case 'B':
case 'b':
System.out.println("일반 회원입니다.");
break;
default:
System.out.println("손님입니다.");
}
}
}
-if 문
package test;
public class test78 {
public static void main(String[] args) {
char grade = 'B';
if(grade == 'A'|| grade == 'a') {
System.out.println("우수 회원입니다.");
}else if(grade == 'B'||grade =='b') {
System.out.println("일반 회원입니다.");
}else {
System.out.println("손님입니다.");
}
}
}
º for 문
- 1 3 5 7 9 출력하기
package test;
public class test78 {
public static void main(String[] args) {
for (int i = 1; i<= 10 ; i+=2) {
System.out.print(i + " ");
}
}
}
- 10부터 거꾸로 출력하기
package test;
public class test78 {
public static void main(String[] args) {
for (int i = 10; i >= 1 ; i--) {
System.out.print(i + " ");
}
}
}
- 누적합 찍기
package test;
public class test78 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10 ; i++) {
System.out.print( i + " ");
sum = sum + i;
}
System.out.println("\n누적합: " +sum );
}
}
º KeyCode
:여러개의 값을 입력 받아도 첫번째 값만 받아 올 수 있다.
package test;
import java.io.IOException;
public class test78 {
public static void main(String[] args) {
try {
int keyCode = System.in.read();
System.out.println("입력키: "+keyCode);
}catch (IOException e) {
e.printStackTrace();
}
}
}
º Scanner
: 값을 그대로 받아온다
package test;
import java.io.IOException;
import java.util.Scanner;
public class test78 {
public static void main(String[] args) {
@SuppressWarnings("resources")
Scanner scanner = new Scanner(System.in);
String keyValue = scanner.nextLine();
System.out.println("입력키: "+ keyValue);
}
}
º do while
package test;
import java.util.Scanner;
public class test78 {
public static void main(String[] args) {
System.out.println("메세지를 입력하세요.");
System.out.println("프로그램을 종료하려면 q를 입력하세요.");
Scanner scanner = new Scanner(System.in);
String inputString;
do {
System.out.println(">");
inputString = scanner.nextLine();
System.out.println(inputString);
}while( ! inputString.equals("q"));
System.out.println();
System.out.println("프로그램 종료");
}
}
º 값을 입력받아서 입력받은 숫자의 구구단을 출력하시오
문자를 숫자화 하는 방법 : Integer.parseInt()
숫자를 문자화 하는 방법 : Double.parsInt()
package test;
import java.util.Scanner;
public class test78 {
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.println("구구단을 입력해 주세요: ");
Scanner scanner = new Scanner(System.in);
String keyValue = scanner.nextLine();
int dan = Integer.parseInt(keyValue);
for (int i=1; i <= 9; i++) {
System.out.println(dan + "X" + i + "=" + dan*i + "\t");
}
}
}
- 10을 넣으면 프로그램 종료하기
package test;
import java.util.Scanner;
public class test78 {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int dan = 0;
while( dan != 10 ) {
System.out.print("구구단을 입력해 주세요: ");
String keyValue = scanner.nextLine();
dan = Integer.parseInt(keyValue);
if (dan != 10) {
for (int i=1; i <= 9; i++) {
System.out.print(dan + "X" + i + "=" + dan*i + "\t");
}
}
System.out.println();
}
System.out.println("프로그램 종료");
}
}
do while 로 풀어보기
package test;
import java.util.Scanner;
public class test78 {
@SuppressWarnings("resourse")
public static void main(String[] args) {
System.out.println("입력받은 수로 구구단을 출력합니다.");
Scanner scanner = new Scanner(System.in);
String str;
do {
System.out.print(">");
str = scanner.nextLine();
int dan = Integer.parseInt(str);
if(dan != 10) {
for(int i=1; i<=9; i++) {
if(i == 9){
System.out.println(dan+"x"+i+"="+dan*i+"\t");
}else {
System.out.print(dan+"x"+i+"="+dan*i+"\t");
}
}
System.out.println("구구단을 입력해주세요");
}else {
System.out.println("");
}
}while(! str.equals("10") );
System.out.println("프로그램이 종료되었습니다.");
}
}
º "이중for문을 이용하여 구구단을 출력하시오" - 5,6,7,8단 만
package test;
import java.util.Scanner;
public class test78 {
public static void main(String[] args) {
for (int dan=5; dan <= 8; dan++) {
for(int i=1; i<=9 ; i++) {
System.out.print(dan + "X" + i + "=" + dan*i + "\t");
}
System.out.println();
}
}
}
- 이중while문
package test;
public class test78 {
public static void main(String[] args) {
int dan = 5;
while(dan < 9) {
int i = 1;
while (i < 10) {
System.out.println(dan + "x" + i + "=" + i * dan + " ");
i++;
}
dan++;
}
}
}
-안에는 while 밖에는 for (ㅎㅎ 반대였음)
package test;
public class test78 {
public static void main(String[] args) {
int dan = 5;
while(dan < 9) {
for(int i=1; i<=9; i++) {
System.out.println(dan + "x" + i + "=" + i * dan + " ");
}
dan++;
System.out.println();
}
}
}
-if문 써서 5,8단만 나타내기
package test;
public class test78 {
public static void main(String[] args) {
for(int dan=5; dan<=8; dan++) {
int i = 1;
while(i <= 9) {
if(dan == 5 || dan == 8) {
System.out.println(dan + "x" + i + "=" + i * dan + " ");
}
i++;
}
}
}
}
º 4장 확인문제
- 3번
: 3의 배수의 합을 구하시오
package test;
public class test78 {
public static void main(String[] args) {
int sum = 0;
for(int i=1 ; i<=100; i++) {
if(i % 3 == 0)
sum = sum + i;
}
System.out.println("3의 배수의 합: " + sum );
}
}
-4번
:두 개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고,
눈의 합이 5가 아니면 계속 주사위를 던지고,
눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요 (1,4) (4,1) (2,3) (3,2)
package test;
public class test78 {
public static void main(String[] args) {
int k1 = 0;
int k2 = 0;
while(k1+k2!=5) {
k1 = (int)(Math.random()*6)+1;
k2 = (int)(Math.random()*6)+1;
System.out.println("("+k1+","+k2+")");
}
}
}
-5번
: 중첩for문을 사용하여 방정식 4x +5y = 60의 모든 해를 구해서 (x,y)형태로 출력하기
package test;
public class test78 {
public static void main(String[] args) {
for(int x=1; x<=10; x++) {
for(int y=1; y<=10; y++) {
if(4*x+5*y == 60) {
System.out.println("("+x+","+y+")");
}
}
}
}
}
-6번
: for문을 이용해서 실행결과와 같은 삼각형을 출력하는 코드를 작성해보시오
package test;
public class test78 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println(" ");
}
}
}
'JAVA' 카테고리의 다른 글
자바 - board 인터페이스 (0) | 2022.07.07 |
---|---|
자바 - TV 인터페이스 (0) | 2022.07.07 |
자바 - 오버플로우, 연산자 , 확인문제 (0) | 2022.07.05 |
자바 - 메소드연습 , 구구단 (0) | 2022.07.05 |
자바 - 형변환 , 연산 우선수위, 구구단 (0) | 2022.07.04 |