#난수 : 정의된 범위 내에서 무작위로 추출된 수
ex)
import java.util.Random;
class RandomTest
{
public static void main(String[] args)
{
Random rand = new Random();
int num=0;
num=rand.nextInt(100);
System.out.println(num);
}
}
Q. 1 ~ 100 사이 임의의 난수를 발생시킨다. (숫자 맞추기 게임)
ex) 게임을 시작합니다
숫자를 입력하세요.
(입력)
당신이 입력한 숫자보다 큽니다.
(입력)
당신이 입력한 숫자보다 작습니다.
(입력)
정답입니다. 당신은 n번 만에 정답을 입력하셨습니다. 프로그램을 종료합니다.
A.
import java.util.Random;
import java.util.Scanner;
class NumberGame
{
public static void main(String[] args)
{
Random rand = new Random();
Scanner sc = new Scanner(System.in);
int rnum=0, num=0, cnt=0;
rnum=rand.nextInt(100)+1;
System.out.println("게임을 시작합니다");
System.out.println("숫자를 입력하세요");
while(true)
{
cnt++;
num=sc.nextInt(100);
if(rnum>num)
System.out.println("당신이 입력한 숫자보다 큽니다");
else if(rnum<num)
System.out.println("당신이 입력한 숫자보다 작습니다");
else
{
System.out.println("정답입니다");
System.out.println("당신은 "+cnt+"번 만에 정답을 입력하셨습니다");
break;
}
}
}
System.out.println("프로그램을 종료합니다.");
sc.close();
}
#와일드문자
*(에스테티크) : 모든
dir
dir*
dir*,*
dir*.log : 확장자가 log인 모든 파일 목록을 보여달라
dir N* : N으로 시작하는 모든 파일 목록을 보여달라
dir N*.java : N으로 시작하는 모든 파일 중 .java인 것을 보여달라
#진법
- 10진수 : 10이 되면 자리가 하나씩 올라가는 진법
- 2진수 : 컴퓨터가 이해하는 진수, 0과 1로 이루어져 있다. 10진수를 2로 나누어 계산
- 8진수, 16진수 : 2진수의 숫자가 길기 때문에 가독성이 떨어지는 문제를 보완하기 위해 만들어짐
8진수는 8로, 16진수는 16으로 10진수 숫자를 나누어 계산
오른쪽 끝을 기준으로 2진수를 8진수는 3자리씩 묶고, 16진수는 4자리씩 묶는다.
- 계산기(calc.exe) → 보기(프로그래머용)
→ HEX : 16진수
DEC : 10진수
OCT : 8진수
BIN : 2진수
# 자료형의 종류
데이터타입명 | 형식 | 크기 | 값의 범위 |
boolean | 참, 거짓 | 1바이트 | true, false |
char | 문자형 | 2바이트 | 모든 유니코드 문자 |
byte | 정수형 | 1바이트 | -128 ~ 127 |
short | 2바이트 | ||
int | 4바이트 | ||
long | 8바이트 | ||
float | 실수형 | 4바이트 | |
double | 8바이트 |
# 소수(Prime Number) : 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수
ㄴ ex) 2.5(o), 9(x)
Q. 임의의 수를 소수인지 아닌지 출력하시오.
A. ★자주 쓰이는 기법★
- flag ex) 돼지 검 도장, 케이크 위 깃발
import java.util.Scanner;
class Prime
{
public static void main(String[] args)
{
int num=0, i=0;
boolean flag=true;
Scanner sc = new Scanner(System.in);
System.out.println("소수 판별 프로그램");
System.out.println("판별하고 싶은 숫자를 입력하세요.");
num=sc.nextInt();
if(num<=1) System.out.println(num+"소수가 아닙니다.");
else
{
for(i=2;i<num;i++)
{
if(num%i==0)
{
flag=false;
break;
}
}
if(flag) System.out.println(num+"소수입니다.");
else System.out.println(num+"소수가 아닙니다.");
}
}
}
Q. 1 ~ 100 사이의 모든 소수를 출력하시오.
A.
class Prime2
{
public static void main(String[] args)
{
int num=0, i=0;
for(num=2;num<=100;num++)
{
for(i=2;i<num;i++)
{
if(num%i==0)break;
}
if(num==i) System.out.println(num);
}
}
}
Q. 구구단 2단을 출력하시오.
A.
class Test1
{
public static void main(String[] args)
{
int i=2, a=1;
for(a=1;a<=9;a++)
{
System.out.println(i+"*"+a+"="+i*a);
}
}
}
Q. 구구단 전체를 출력하시오. (세로)
A.
class Test2
{
public static void main(String[] args)
{
int i=2, a=1;
for(i=2;i<=9;i++)
{
System.out.println(i+"단");
for(a=1;a<=9;a++)
{
System.out.println(i+"*"+a+"="+i*a);
}
System.out.println();
}
}
}
Q. 구구단 전체를 출력하시오. (가로)
A.
class Test3
{
public static void main(String[] args)
{
int i=1, a=2;
for(i=1;i<=9;i++)
{
for(a=2;a<=9;a++)
{
System.out.println(i+"*"+a+"="+i*a+"\t");
}
System.out.println();
}
}
}
- 이스케이프 시퀀시(escape sequence)
\n : 다음줄로 이동 ex) 안녕
하세요
\t : 탭만큼 띄어쓰기 ex) 안녕 하세요
Q. 구구단 짝수 단만 출력하되, 2단은 2*2까지, 4단은 4*4까지 6단은 6*6까지 8단은 8*8까지만 출력하시오.
A.
class Test4
{
public static void main(String[] args)
{
int i=2, a=1;
for(i=2;i<=9;i+=2)
{
for(a=1;a<=9;a++)
{
System.out.println(i+"*"+a+"="+i*a);
}
System.out.println();
}
}
}
Q. 다음 식을 만족하는 모든 A와 B의 조합을 구하는 프로그램을 작성하시오.
ex) AB+BA = 99 → 9+90=99
A.
class Test5
{
public static void main(String[] args)
{
int i=0, a=0;
for(i=0;i<=9;i++)
{
for(a=0;a<=9;a++)
{
if((i*10+a)+(a*10+i)==99)
System.out.println(i+" "+a+" "+a+" "+i+"=99");
}
}
}
}
Q. 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
A.
class Test6
{
public static void main(String[] args)
{
int i=0, a=0;
int num=1;
for(i=0;i<5;i++)
{
for(a=0;a<5;a++)
{
System.out.println(num+"\t");
num++;
}
System.out.println();
}
}
}
Q. 28 27 26
25 24 23
22 21 20
A.
class Test7
{
public static void main(String[] args)
{
int i=0, a=0;
int num=28;
for(i=0;i<3;i++)
{
for(a=0;a<3;a++)
{
System.out.println(num+" ");
num--;
}
System.out.println();
}
}
}
Q. *
**
***
****
*****
A.
class Test8
{
public static void main(String[] args)
{
int i=0, a=0;
for(i=0;i<5;i++)
{
for(a=0;a<=i;a++)
{
System.out.print("*");
}
System.out.println();
}
}
}
Q. *******
*****
***
*
A.
class Test9
{
public static void main(String[] args)
{
int i=0, a=0;
for(i=0;i<4;i++)
{
for(a=0;a<i;a++)
{
System.out.println(" ");
}
for( ;a<7-i;a++)
{
System.out.println("*");
}
System.out.println();
}
}
}
#switch ~ case ~ default문
ex1)
import java.util.Scanner;
class SC1
{
public static void main(String[] args)
{
int menu=0;
Scanner sc = new Scanner(System.in);
3 햄버거
System.out.println("Menu");". 피자"
System.out.println("1. 피자");
System.out.println("2. 스파게티");
System.out.println("3. 햄버거");
System.out.println("4. 스프");
System.out.println("선택 : ");
menu.sc.nextInt();
switch(menu)
{
case1:
System.out.println("당신은 피자를 선택하셨습니다.");
case2:
System.out.println("당신은 스파게티를 선택하셨습니다.");
case3:
System.out.println("당신은 햄버거를 선택하셨습니다.");
case4:
System.out.println("당신은 스프를 선택하셨습니다.");
default:
System.out.println("당신은 잘못 선택하셨습니다.");
}
}
}
ex2)
import java.util.Scanner;
class SC2
{
public static void main(String[] args)
{
int menu=0;
Scanner sc = new Scanner(System.in);
3 햄버거
System.out.println("Menu");". 피자"
System.out.println("1. 피자");
System.out.println("2. 스파게티");
System.out.println("3. 햄버거");
System.out.println("4. 스프");
System.out.println("선택 : ");
menu.sc.nextInt();
switch(menu)
{
case1:
System.out.println("당신은 피자를 선택하셨습니다.");
break;
case2:
System.out.println("당신은 스파게티를 선택하셨습니다.");
break;
case3:
System.out.println("당신은 햄버거를 선택하셨습니다.");
break;
case4:
System.out.println("당신은 스프를 선택하셨습니다.");
break;
default:
System.out.println("당신은 잘못 선택하셨습니다.");
}
}
}
ex3)
import java.util.Scanner;
class SC2
{
public static void main(String[] args)
{
int menu=0;
Scanner sc = new Scanner(System.in);
3 햄버거
System.out.println("Menu");". 피자"
System.out.println("1. 피자");
System.out.println("2. 스파게티");
System.out.println("3. 햄버거");
System.out.println("4. 스프");
System.out.println("선택 : ");
menu.sc.nextInt();
if(menu==1)
System.out.println("당신은 피자를 선택하셨습니다.");
else if((menu==2)
System.out.println("당신은 스파게티를 선택하셨습니다.");
else if((menu==3)
System.out.println("당신은 햄버거를 선택하셨습니다.");
else if((menu==4)
System.out.println("당신은 스프를 선택하셨습니다.");
else
System.out.println("당신은 잘못 선택하셨습니다.");
}
}
'SW > Java' 카테고리의 다른 글
[필기정리] Day6 - 카멜케이스, 생성자 (0) | 2020.06.21 |
---|---|
[필기정리] Day5 - return, 재귀메소드 등 (0) | 2020.06.21 |
[필기정리] Day4 - 형변환, 비트연산자 등 (0) | 2020.06.21 |
[필기정리] Day2 - 연산자, 반복문 등 (0) | 2020.06.19 |
[필기정리] Day1 -변수 선언, 예시 문제 (0) | 2020.06.19 |