사용자가 숫자를 입력하면 짝수인지 홀수인지 출력하는 프로그램
요구사항
1. 숫자를 입력하세요 라고 출력
2. 숫자 입력을 int input로 받아라
3. 짝수이면 "짝수입니다." 홀수이면 "홀수입니다."라고 출력
import java.util.Scanner;
public class Input01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("숫자를 입력하세요 : ");
int input = sc.nextInt();
if (input % 2 == 0) {
System.out.println("짝수입니다.");
} else {
System.out.println("홀수입니다.");
}
sc.close();
}
}
랜덤값(난수) 추출Math.random()
Math.random() 함수는 0부터 1보다 작은 임의의 숫자를 반환
Ex) int number2 = (int) (Math.random() * 5 + 1); 사용시 1~5값 반환
int number2 = (int) (Math.random() * 45 + 1); 사용시 1~45값 반환 (로또번호 추출)
public class If03 {
public static void main(String[] args) {
// 랜덤값 뽑기
double random = Math.random() * 5 + 1;
int number = (int) random;
System.out.println(random);
int number2 = (int) Math.random() * 5;
System.out.println(number); // 1~5
if (number == 1) {
System.out.println("1 입니다.");
}else if(number == 2) {
System.out.println("2 입니다.");
}
else if(number == 3) {
System.out.println("3 입니다.");
}
else if(number == 4) {
System.out.println("4 입니다.");
}
else {
System.out.println("5 입니다.");
}
}
}
1. 랜덤한 값 두개 생성
2. if문으로 크기를 비교 (자리바꾸기)
3. 큰 수부터 출력.
1. 5
2. 8
1 + ">" + 2
public class If04 {
public static void main(String[] args) {
int random1 = (int) (Math.random() * 10 + 1);
int random2 = (int) (Math.random() * 10 + 1);
if(random1 < random2) {
int temp = 0;
temp = random1;
random1 = random2;
random2 = temp;
System.out.println(temp);
}
//출력
System.out.println(random1 + " > " + random2);
}
}
랜덤한 숫자를 3개 뽑아서
작은것부터 큰 것으로 정렬
public class If05 {
public static void main(String[] args) {
int random1 = (int) (Math.random() * 10 + 1);
int random2 = (int) (Math.random() * 10 + 1);
int random3 = (int) (Math.random() * 10 + 1);
/*
int temp = 0;
if(random1>random2) {
temp = random1;
random1 = random2;
random2 = temp;
}else if(random2>random3){
temp = random2;
random2 = random3;
random3 = temp;
}else if(random1>random2) {
temp = random1;
random1 = random2;
random2 = temp;
}
*/
System.out.println(random1 + ", " + random2 + ", " + random3);
if(random2 >= random1 && random2 >= random3) {
int temp = random3;
random1 = random2;
random3 = random2;
random2 = temp;
}else if(random1 >= random2 && random1 >= random3) {
int temp = random1;
random1 = random2;
random2 = random3;
random3 = temp;
}
if(random1 >= random2) {
int temp = random1;
random1 = random2;
random2 = temp;
}
System.out.println(random1 + " <= " + random2 + " <= " + random3);
}
}
if 중첩
조건의 중첩 : 필요에 따라서 조건에 조건을 계속 중첩시키는 것
public class If06 {
public static void main(String[] args) {
double random = Math.random() * 150 + 1;
System.out.println(random);
int number = (int) random;
System.out.println(number);
//int number2 = (int)(Math.random() * 10 + 1);
char ch = 'A';
ch =(char) number;
System.out.println("뽑은 글자 : " + ch);
if(ch >= 'A') { //영어 대문자, 특수문자, 소문자, 특수문자
System.out.println("영어 대문자 A이후.");
if(ch <= 'Z') {
System.out.println("영어 대문자");
}else {
System.out.println("영어 대문자 이후 문자");
if(ch < 'a') {
System.out.println("대소문자 사이 특수문자");
}
else {
if(ch<='z') {
System.out.println("영어 소문자");
}
else {
System.out.println("영어 소문자 이후 특수 문자");
}
}
}
}else {//영어 대문자 이전
System.out.println("영어 대문자 A이전.");
//숫자만
if(ch >= '0' && ch <= '9') {
System.out.println("숫자");
}
}
//////////////////////////////////////////////////
//논리연산자를 사용하여 해보기
//AND사용
if(ch >= 'A' && ch <= 'Z') {
System.out.println("영어 대문자");
}else if(ch >= 'a' && ch <= 'z') {
System.out.println("영어 소문자");
}if(ch >= '0' && ch <= '9') {
System.out.println("숫자");
}
//OR사용
if((ch >= 'A' && ch <= 'z') || (ch >= 'a' && ch <= 'z')) {
System.out.println("영어 대소문자 입니다.");
}
}
}
API (Application Programming Interface)
애플리케이션 프로그래밍 인터페이스
(응용 프로그램 프로그래밍 인터페이스)는
응용 프로그램에서 사용할 수 있도록,
운영 체제나 프로그래밍 언어가 제공하는
기능을 제어할 수 있게 만든 인터페이스
public class If06 {
public static void main(String[] args) {
if( Character.isUpperCase(ch)) {
System.out.println("대문자입니다.");
}else if(Character.isLowerCase(ch)) {
System.out.println("소문자입니다.");
}else if(Character.isDigit(ch)) {
System.out.println("숫자입니다.");
}else {
System.out.println("특수문자입니다.");
}
}
}
가위 바위 보 게임
컴퓨터와 사람이 같이 가위/바위/보 중에 하나를 내고
if문으로 승패 여부를 출력
import java.util.Scanner;
public class If07 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("1. 가위\t2. 바위\t3. 보"); //tab
System.out.println("원하는 번호를 눌러주세요");
int user = sc.nextInt();
int com =(int) (Math.random() * 3 + 1 ); // 1 2 3
String val;
if(com==1) {
val="가위";
}else if(com==2){
val="바위";
}else {
val="보";
}
System.out.println("컴퓨터가 낸 것 : "+val + "("+com+")");
if(user==com) {
System.out.println("비겼습니다.");
}else if(user==1 && com==3 || user==2 && com==1 || user ==3 && com==2) {
System.out.println("당신이 이겼습니다.");
}else {
System.out.println("컴퓨터가 이겼습니다.");
}*/
if(user==com) {
System.out.println("비겼습니다.");
}else if((com - user == 1) || (com - user == -2)) {
System.out.println("컴퓨터가 이겼습니다.");
}else {
System.out.println("당신이 이겼습니다.");
}
}
}
반복문
자바에서는 필요에 따라서 특정 문장을 반복적으로 실행해야 할때가 있다.
이때 사용되는 구문이 반복문, Loop문
자바에서는 세가지 형태의 반복문을 제공
- for(forEach)
- while
- do~while
for(변수 초기화; 변수 조건문; 변수 증감식){
}
public class For01 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
System.out.print(i);
if (i == 10) {
System.out.print("=");
} else {
System.out.print("+");
}
sum += i;
}
System.out.println("sum");
sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
System.out.print(i);
if (i == 10) {
System.out.print("=");
} else {
System.out.print("+");
}
sum += i;
}
}
System.out.println("짝수의 총 합은 : " + sum);
}
}
FizzBuzz
1부터 25사이의 숫자를 프린트하는 프로그램을 작성
3의 배수는 "Fizz"를, 5의 배수이면 "Buzz"
3과 5의 배수는 "FizzBuzz"를 출력
public class For02 {
public static void main(String[] args) {
for (int i = 1; i <= 25; i++) {
if (i % 3 == 0 && i % 5 == 0) {
System.out.println("FizzBuzz");
} else if (i % 3 == 0) {
System.out.println("Fizz");
} else if (i % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(i);
}
}
}
}
continue; - 이하 실행구문은 무시하고 다시 조건문,반복문 처음으로
break; - 조건문, 반복문 탈출
public class For03 {
public static void main(String[] args) {
for(int i=1; i<10; i++) {
if(i%2==1) {
continue;
}
System.out.println("2 x "+i+" = "+(2*i));
//System.out.printf("2 X %d = %d\n", i, i * 2);
//continue; - 이하 실행구문은 무시하고 다시 반복문으로 돌림
//break; - 조건문을 탈출
}
}
}
import java.util.Scanner;
//사용자가 입력한 숫자만큼 구구단 출력하기
public class For04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("출력할 단을 입력하세요.");
int dan = sc.nextInt();
System.out.println("숫자를 입력하세요. ");
int num = sc.nextInt();
for (int i = 1; i <= num; i++) {
System.out.println(dan+" x " + i + " = " + (i * dan));
}
sc.close();
}
}
package may21;
// 가위 바위 보 게임
// 컴퓨터와 사람이 같이 가위/바위/보 중에 하나를 내고
// if문으로 승패 여부를 출력해주세요
import java.util.Scanner;
public class If07 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("1. 가위\t2. 바위\t3. 보"); //tab
System.out.println("원하는 번호를 눌러주세요");
int user = sc.nextInt();
int com =(int) (Math.random() * 3 + 1 ); // 1 2 3
String val;
if(com==1) {
val="가위";
}else if(com==2){
val="바위";
}else {
val="보";
}
System.out.println("컴퓨터가 낸 것 : "+val + "("+com+")");
/*
if(user==com) {
System.out.println("비겼습니다.");
}else if(user==1 && com==3) {
System.out.println("당신이 이겼습니다.");
}else if(user==2 && com==1) {
System.out.println("당신이 이겼습니다.");
}else if(user==3 && com==2) {
System.out.println("당신이 이겼습니다.");
}else {
System.out.println("당신이 졌습니다.");
}*/
/*
if(user==com) {
System.out.println("비겼습니다.");
}else if(user==1 && com==3 || user==2 && com==1 || user ==3 && com==2) {
System.out.println("당신이 이겼습니다.");
}else {
System.out.println("컴퓨터가 이겼습니다.");
}*/
if(user==com) {
System.out.println("비겼습니다.");
}else if((com - user == 1) || (com - user == -2)) {
System.out.println("컴퓨터가 이겼습니다.");
}else {
System.out.println("당신이 이겼습니다.");
}
}
}
'프로그래밍 > Java 공부' 카테고리의 다른 글
배열, foreach문 (0) | 2021.05.25 |
---|---|
for문(별찍기), switch문, while문, do~while문 (0) | 2021.05.24 |
연산자, 조건문(if, else if) (0) | 2021.05.20 |
변수, 데이터 타입, 형변환 (0) | 2021.05.19 |
입출력 스트림과 파일 입출력 (0) | 2020.12.29 |