반응형
👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇
실습문제
/*
1. 철수의 점수 60점을 입력하고.
철수의 점수가 짝수이면 철수의 점수에서 10%를 더하여 저장하세요
철수의 점수가 홀수이면 철수의 점수에서 10%를 마이너스 하여 저장하세요.
*/
package Tasks;
public class Test01 {
public static void main(String[] args) {
double point = 100;
if(point % 2 ==0){
point += +point*0.1;
} else if (point % 2 == 1){
point -= point*0.1;
}
System.out.println((int)point);
}
}
문제 2 : 변수 하나를 선언하여 3개의 정수 평균값을 구하시오. 소수점까지 포함
package Task;
public class Task2 {
public static void main(String[] args) {
int a = 30;
int b = 40;
int c = 56;
float avgAbc = (a+b+c)/3;
System.out.println(avgAbc);
}
}
문제 3 : 선택한 메뉴와 선택한 수량에 따라 메뉴와 수량이 정정되도록 프로그램을 작성하시오
int cola = 30; // 메뉴번호 1과 수량
int strite = 29; // 메뉴번호 2번과 수량
int water = 43; // 메뉴번호 3과 수량
int seNum = 1; // 선택한 메뉴
int selCun = 5; // 선택한 수량
package Task;
public class Task3 {
public static void main(String[] args) {
int cola = 30; // 메뉴번호 1과 수량
int strite = 29; // 메뉴번호 2번과 수량
int water = 43; // 메뉴번호 3과 수량
int seNum = 1; // 선택한 메뉴
int selCun = 5; // 선택한 수량
System.out.println("선택 한 메뉴 : " + seNum);
if (seNum == 1) {
cola -= selCun;
System.out.println("선택한 메뉴는 cola입니다 " + cola + " 개 입니다 ");
} else if (seNum == 2) {
strite -= selCun;
System.out.println("선택한 메뉴는 strite입니다 " + strite + " 개 입니다 ");
} else if (seNum == 3) {
water -= selCun;
System.out.println("선택한 메뉴는 water입니다 " + water + " 개 입니다 ");
}
else {
System.out.println("메뉴번호는 1, 2, 3 입니다");
}
System.out.println(cola);
}
}
문제 4 : a정수의 모든 숫자를 자리수 상관 없이 더한 값을 출력하시오
package Task;
import java.util.Arrays;
public class Task4 {
public static void main(String[] args) {
int a = 6454634;
// 6 4 5 4 6 3 4 / 10 하면 끝에 자리가 짤림 -- 몫으로 나눠짐
int sum = 0;
// while (a != 0){
// sum += a % 10; // 소수점 자리의 몫값을 sum에 누적
// a /= 10; // 끝에 숫자 4가 빠진 나머지 몫값을 a에 대입
// }
if ( a != 0 ) {
sum = a % 10;
a = a / 10;
sum += a % 10;
a = a / 10;
sum += a % 10;
a = a / 10;
sum += a % 10;
a = a / 10;
sum += a % 10;
a = a / 10;
sum += a % 10;
a = a / 10;
sum += a % 10;
a = a / 10; }
System.out.println(sum);
}
}
문제 5 : 업 , 다운 게임
int conNum = 30; // 컴퓨터 번호
int youNum = 30; // 게임자 번호
게임자 번호가 컴퓨터 번호를 비교하여 컴퓨터 번호보다 up이면 up이라고하고
다운이면 다운이라고 출력하시오
package Task;
public class Task5 {
public static void main(String[] args) {
int conNum = 30; // 컴퓨터 번호
int youNum = 30; // 게임자 번호
if (conNum > youNum){
System.out.println(" 업 ");
} else if (conNum < youNum ){
System.out.println(" 다운 ");
} else {
System.out.println("정답이라우");
}
}
}
문제 6 : 가위바위보
1은 가위, 2는 바위, 0은 보이다
가위바위보 게임의 승자를 판별하시오
me you 숫자 차이가 1만 나면 큰수가 이기고
me you 숫자 차이가 2가 나면 낮은 수가 이긴다
package Task;
public class Task6 {
public static void main(String[] args) {
int me = 0;
int you = 0;
String Victory = "";
// 1은 가위, 2는 바위, 0은 보이다
// 가위바위보 게임의 승자를 판별하시오
// me you 숫자 차이가 1만 나면 큰수가 이기고
// me you 숫자 차이가 2가 나면 낮은 수가 이긴다
if (me > you) {
Victory = (me - you == 1)? "me가 이겼어요" : "you가 이겼어요"; }
if(me < you) {
Victory = ( you - me == 1) ? "you가 이겼어요 " : "me가 이겼어요";}
if(me==you){
Victory = "동점이예요"; }
System.out.println(Victory);
}
}
문제 7 : 자동차가 위치한 차도 찾기
위 좌표는 도로의 시작점 좌표이다.
1차선은 10의 너비를 가진다
도로는 4차선이다
도로의 길이는 50이다.
도로의 길이는 50이다. 도로의 길이는 y좌표에서 -50으로 계산한다.
자동차의 현재 위치
int carx = 32;
int cary = 70;
int size = 8;
자동차는 사각형이며 사이즈는 가로,세로 각 8이다
자동차는 몇 차선에서 주행하고 있는가 ?
판단의 기준은 자동차 앞의 중간 지점이다.
package Task;
public class Task7 {
public static void main(String[] args) {
int roadx = 20;
int roady = 100;
// 위 좌표는 도로의 시작점 좌표이다.
// 1차선은 10의 너비를 가진다
// 도로는 4차선이다
// 도로의 길이는 50이다.
// 도로의 길이는 50이다. 도로의 길이는 y좌표에서 -50으로 계산한다.
// 자동차의 현재 위치
int carx = 32;
int cary = 70;
int size = 8;
// 자동차는 사각형이며 사이즈는 가로,세로 각 8이다
// 자동차는 몇 차선에서 주행하고 있는가 ?
// 판단의 기준은 자동차 앞의 중간 지점이다.
/*
1차선의 범위 : x(20) ~ x+9 , y 50~100
2차선의 범위 : x+10 ~ x+19 , y 50~100
3차선의 범위 : x+20 ~ x+29 , y 50~100
4차선의 범위 : x+30 ~ x+39 , y 50~100
*/
if (roadx <= carx && carx <= roadx+40) { // 도로의 x값 정의 20 ~ 60 사이에 car 있는지 확인 맞다면 아래로 이동
if (roady - 50 <= cary && cary + size <= roady) { // 도로의 y값 정의 50 ~ 100 사이에 car 있는지 확인 맞다면 아래로 이동
if (carx >= roadx && carx + size <= roadx + 10) { // 도로의 x값(20) 과 carx값(32) 비교(참) && carx+8(40)과 roadx+10(30)비교(거짓)
System.out.println("1차선에 있다"); // 참 && 거짓 = 거짓 으로 해당 행 실행 안됨
} else if (roadx + 10 <= carx && carx + size <= roadx + 20) { // 도로 x값(30)과 carx값(32) 비교(참) && carx+8(40)과 roadex+20(40)비교(참)
System.out.println("2차선에 있다"); // 참 과 참 임으로 참 , 해당 문 실행
} else if (roadx + 20 <= carx && carx + size <= roadx + 30) { // 도로 x값(40)과 carx값(32) 비교(거짓) && carx+8(40)과 roadex(50)비교(참)
System.out.println("3차선에 있다"); // 거짓 && 참 = 거짓 임으로 , 해당문 실행 안됨
} else if (roadx + 30 <= carx && carx + size <= roadx + 40) { // 도로 x값(50)과 carx값(32) 비교(거짓) && carx+8(40)과 roadex(60)비교(참)
System.out.println("4차선에 있다"); // 거짓 && 참 = 거짓 임으로 , 해당문 실행 안됨
}
} else {
System.out.println("차선에 없다 "); // x 축과 y 축 전체 범위에 포함 되지 않을 경우 차선에 없다 라고 진행
}
}
}
}
IF문 과제
과제 1 :
철수의 점수 60점을 입력하고.
철수의 점수가 짝수이면 철수의 점수에서 10%를 더하여 저장하세요
철수의 점수가 홀수이면 철수의 점수에서 10%를 마이너스 하여 저장하세요.
package Tasks;
public class Test01 {
public static void main(String[] args) {
double point = 100;
if(point % 2 ==0){
point += +point*0.1;
} else if (point % 2 == 1){
point -= point*0.1;
}
System.out.println((int)point);
}
}
과제 2 :
철수는 행운의 번호를 선정하고 있다.
첫번째 조건은 백의 자리가 7인경우
두번째 조건은 십의 자리가 9인경우이다.
번호는 000 - 999가지 라고 가정한다. 일의 자리는 무시한다.
int num=975; 일경우 행운의 번호인가?
2-1. if문 한개로 풀어 보세요
2-2. 중첩if로 풀어 보세요.
package Tasks;
public class Test02 {
public static void main(String[] args) {
int num = 975;
// 9 7 5
int number100 = num/100; // 9
int number10 = (num-(number100*100))/10; // 7
if(number100 == 7 && number10 == 9) {
System.out.println(num + " : 행운의 번호 입니다 ");
} else {
System.out.println(num + " : 행운의 번호가 아닙니다");
}
System.out.println("--------------------------------------");
if(number100 == 7) {
if (number10 == 9) {
System.out.println("행운의 번호 입니다");
} else {
System.out.println("행운의 번호가 아닙니다");
}
}
}
}
과제 3 :
철수는 사냥놀이를 하고 있다.
현재 종이모양의 새가 x축에는 30, y축에는 20
철수의 총알이 ballx =3, bally=5에 위치해 있다.
총알이 진행방향으로 직선으로만 날아간다고 가정한다.
철수의 총알이 새를 맞출 수 있을까?
package Tasks;
public class Test03 {
public static void main(String[] args) {
/*
기울기 계산법
x 증가량 / y 증가량 = 기울기값
*/
int birdx = 30; // 3의 배수
int birdy = 20; // 5의 배수
int bulletX = 3;
int bulletY = 5;
double bulletavg = (float)bulletY/bulletX;
double birdavg = (float)birdy/birdx;
// 5/3 = 1.666666
// 30/3 : 10 / 3 = 3.3 .....
// 20/5 : 4 / 5 = 0.8 .....
if(bulletavg == birdavg){
System.out.println("총에 맞는다");
} else {
System.out.println("총에 맞지 않는다");
}
}
}
반응형
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ Jᴀᴠᴀ' 카테고리의 다른 글
2023/09/25🌙 배열 및 for문 활용 (0) | 2023.09.26 |
---|---|
2023/09/22🌹 단일 for 문과 if 문 실습 (0) | 2023.09.23 |
2023/09/21✏️ For문 (0) | 2023.09.21 |
2023/09/18 🌱 자료형과 형변환(캐스팅) , 그리고 if 조건문 (1) | 2023.09.19 |
2023/09/15⭐️ Java를 시작하다 (0) | 2023.09.18 |