
LoopControl
하나의 클래스에 메소드로 정의하여 메소드 호출하여 실행
📑문제
method1
method2
method3
method4
method5
method6
method7
method8
method9
method10
method11
method12
method13
method14
method15
method16
method17
method18
method19
method20
method21
method22
🔍풀이
package com.kh.practice1.loop;
import java.util.*;
public class LoopControl {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
// method1();
// method2();
// method3();
// method4();
// method5();
// method6();
// method7();
// method8();
// method9();
// method10();
// method11();
// method12();
// method13();
// method14();
// method15();
// method16();
// method17();
// method18();
// method19();
// method20();
// method21();
method22();
}
private static void method1() {
// 1. 사용자로 부터 한개의 값을 입력받으시오! 정수.
// 2. 1부터 그 숫자까지를 거꾸로 출력
// 3. 단, 입력한 수는 1보다 크거나 같아야 합니다.
System.out.print("1 이상의 숫자를 입력하세요 : ");
int num =sc.nextInt();
if(num <= 0){
System.out.println("입력한 수는 1보다 크거나 같아야 합니다.");
return;
}
for (int i = num; i >= 1; i--){
System.out.print(i + " ");
}
}
private static void method2() {
while (true){
System.out.print("1 이상의 숫자를 입력하세요 : ");
int num =sc.nextInt();
if(num > 0) {
for (int i = num; i >= 1; i--) {
System.out.print(i + " ");
}
System.out.println();
}else{
if(num == -1) {
System.out.println("종료합니다.");
break;
}
System.out.println("1 이상의 숫자를 입력해주세요.");
}
}
}
private static void method3() {
System.out.print("정수를 하나 입력하세요: : ");
int num =sc.nextInt();
if(num <= 0) {
System.out.println("입력한 수는 1보다 크거나 같아야 합니다.");
return;
}
int totalSum = 0;
for (int i = 1; i <= num; i++) {
totalSum += i;
System.out.print(i);
if(num != i ){
System.out.print(" + ");
}else {
System.out.print(" = ");
}
}
System.out.print(totalSum);
}
private static void method4() {
System.out.print("첫 번째 숫자: : ");
int num1 =sc.nextInt();
System.out.print("두 번째 숫자: : ");
int num2 =sc.nextInt();
if(num1 <= 0 || num2 <= 0) {
System.out.println("1 이상의 숫자를 입력해주세요.");
return;
}
int first = 0;
int last = 0;
if(num1 > num2){
last = num1;
first = num2;
} else {
first = num1;
last = num2;
}
for(int i = first; i <= last; i++){
System.out.print(i + " ");
}
}
private static void method5() {
while (true) {
System.out.print("첫 번째 숫자: : ");
int num1 =sc.nextInt();
System.out.print("두 번째 숫자: : ");
int num2 =sc.nextInt();
if(num1 <= 0 || num2 <= 0) {
System.out.println("1 이상의 숫자를 입력해주세요.");
}else{
int first = 0;
int last = 0;
if(num1 > num2){
last = num1;
first = num2;
} else {
first = num1;
last = num2;
}
for(int i = first; i <= last; i++){
System.out.print(i + " ");
}
}
System.out.println();
break;
}
}
private static void method6() {
System.out.print("숫자 : ");
int num = sc.nextInt();
for (int i = 1; i <= 9; i++){
System.out.println(num + " * " + i + " = " + num*i);
}
}
private static void method7() {
System.out.print("숫자 : ");
int num = sc.nextInt();
if(num > 9){
System.out.println("9 이하의 숫자만 입력해주세요.");
return;
}
for (int i = num; i <= 9; i++){
System.out.println("===== " + i +"단 =====");
for(int j = 1; j <=9; j++){
System.out.println(num + " * " + j + " = " + num*j);
}
num++;
}
}
private static void method8() {
System.out.print("숫자 : ");
int num = sc.nextInt();
if(num <= 9){
for (int i = num; i <= 9; i++) {
System.out.println("===== " + i + "단 =====");
for (int j = 1; j <= 9; j++) {
System.out.println(num + " * " + j + " = " + num * j);
}
num++;
}
}else{
System.out.println("9 이하의 숫자만 입력해주세요.");
}
}
private static void method9() {
System.out.print("시작 숫자 : ");
int num1 = sc.nextInt();
System.out.print("공차 : ");
int num2 = sc.nextInt();
int limit = 10;
while(limit > 0){
System.out.print(num1 + " ");
num1 += num2;
limit--;
}
}
private static void method10() {
while (true){
System.out.print("연산자(+, -, *, /, %) : ");
String symbol = sc.nextLine();
if(symbol.equals("exit")){
System.out.println("프로그램을 종료합니다.");
break;
}
System.out.print("정수1 : ");
int num1 = sc.nextInt();
System.out.print("정수2 : ");
int num2 = sc.nextInt();
sc.nextLine();
if(num2 == 0 ){
System.out.println("0으로 나눌 수 없습니다 .다시 입력해주세요.");
continue;
}
if(symbol.equals("+") || symbol.equals("-") ||
symbol.equals("*") || symbol.equals("/") || symbol.equals("%")){
}else {
System.out.println("없는 연산자 입니다. 다시 입력해주세요.");
continue;
}
switch (symbol){
case "+" :
System.out.println(num1 + " + " + num2 + " = " + (num1+num2) );
break;
case "-" :
System.out.println(num1 + " - " + num2 + " = " + (num1-num2) );
break;
case "*" :
System.out.println(num1 + " * " + num2 + " = " + (num1*num2) );
break;
case "/" :
System.out.println(num1 + " / " + num2 + " = " + (num1/num2) );
break;
case "%" :
System.out.println(num1 + " % " + num2 + " = " + (num1%num2) );
break;
}
}
}
private static void method11() {
System.out.print("정수 입력 : ");
int num = sc.nextInt();
for(int i = 0; i < num; i++){
for (int j = 0; j < i + 1; j++){
System.out.print("*");
}
System.out.println();
}
}
private static void method12() {
System.out.print("정수 입력 : ");
int num = sc.nextInt();
for(int i = 0; i < num; i++){
for (int j = num; j > i; j--){
System.out.print("*");
}
System.out.println();
}
}
private static void method13() {
System.out.print("숫자 : ");
int num = sc.nextInt();
if (num < 2 ){
System.out.println("잘못 입력하셨습니다.");
return;
}
int cnt = 0;
for(int i = 1; i <= num; i++){
if(num % i == 0){
cnt++;
}
if(cnt == 2){
System.out.println("소수입니다.");
break;
}else{
System.out.println("소수가 아닙니다.");
break;
}
}
}
private static void method14() {
while (true){
System.out.print("숫자 : ");
int num = sc.nextInt();
if (num < 2 ){
System.out.println("잘못 입력하셨습니다.");
}else {
int cnt = 0;
for(int i = 1; i <= num; i++) {
if (num % i == 0) {
cnt++;
}
}
if(cnt == 2){
System.out.println("소수입니다.");
}else{
System.out.println("소수가 아닙니다.");
}
break;
}
}
}
private static void method15() {
Set<String> resultSet = new LinkedHashSet<>();
while (true){
System.out.print("숫자 : ");
int num = sc.nextInt();
if (num < 2 ){
System.out.println("잘못 입력하셨습니다.");
}else {
int cnt = 0;
for(int j = 2; j <= num; j++){
cnt = 0;
for(int i = 1; i <= j; i++) {
if (j % i == 0) {
cnt++;
}
}
if(cnt == 2){
resultSet.add(j + " ");
}else{
}
}
//2부터 11까지 소수의 개수는 5개 입니다.
resultSet.stream().forEach(System.out::print);
System.out.println();
System.out.println("2부터 " + num + "까지 소수의 개수는 " + resultSet.size() + "개 입니다.");
}
}
}
private static void method16() {
System.out.print("정수 입력 : ");
int num = sc.nextInt();
// *
// **
// ***
//****
int cnt = num;
for(int i = 0; i < num; i++){
cnt--;
for (int j = 0; j < num; j++){
if (cnt > j) {
System.out.print(" ");
}else {
System.out.print("*");
}
}
System.out.println();
}
}
private static void method17() {
System.out.print("정수 입력 : ");
int num = sc.nextInt();
//*
//**
//***
//**
//*
for(int i=1; i<=num; i++ ){
for(int j=1; j<=i; j++){
System.out.print("*");
}
System.out.println();
}
for(int i=num; i>=1; i-- ){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
}
private static void method18() {
System.out.print("정수 : ");
int num = sc.nextInt();
if (num <= 0 ){
System.out.println("양수가 아닙니다.");
return;
}
for (int i = 0; i < num; i++){
if (i % 2 == 0 ){
System.out.print("박");
}else {
System.out.print("수");
}
}
}
private static void method19() {
while (true){
System.out.print("정수 : ");
int num = sc.nextInt();
if (num <= 0 ){
System.out.println("양수가 아닙니다.");
}else{
for (int i = 0; i < num; i++){
if (i % 2 == 0 ){
System.out.print("박");
}else {
System.out.print("수");
}
}
System.out.println();
}
}
}
private static void method20() {
System.out.print("문자열 : ");
String text = sc.nextLine();
System.out.print("문자 : ");
char textCh = sc.nextLine().charAt(0);
int cnt = 0;
for(char ch : text.toCharArray()){
if(ch == textCh){
cnt++;
}
}
System.out.println(text + "안에 포함된 " +textCh + " 개수 : " + cnt);
}
private static void method21() { //코드 다시 정리해야함
boolean isWrongAnswer = false; //플래그
while (!isWrongAnswer) {
System.out.print("문자열 : ");
String text = sc.nextLine();
System.out.print("문자 : ");
char textCh = sc.nextLine().charAt(0);
int cnt = 0;
for (char ch : text.toCharArray()) {
if (ch == textCh) {
cnt++;
}
}
System.out.println("포함된 개수 : " + cnt);
}
System.out.print("더 하시겠습니까?(y/n) : ");
String yn = sc.nextLine();
yn = yn.toLowerCase();
if (yn.equals("y") || yn.equals("n")){
if (yn.equals("y")){
isWrongAnswer = false;
}else{
// break;
}
} else{
System.out.println("잘못된 대답입니다. 다시 입력주세요.");
isWrongAnswer = true;
}
}
private static void method22() {
Random ran = new Random();
int com = ran.nextInt(100) + 1;
System.out.println(com);
int cnt = 0;
while (true){
System.out.print("1~100 사이의 임의의 난수를 맞춰보세요 : ");
int num = sc.nextInt();
if(!(1 <= num && num <= 100)){
System.out.println("1~100 사이의 숫자를 입력해주세요.");
continue;
}
if(com == num){
System.out.println("정답입니다!");
System.out.println(cnt + "회만에 맞추셨습니다.");
break;
}else{
if(com > num){
System.out.println("UP!");
}else{
System.out.println("Down!");
}
}
cnt++;
}
}
}
'Backend > JAVA' 카테고리의 다른 글
[JAVA] 특강 16일차 : 코딩 훈련! 문제 풀이 (① 배열) (0) | 2022.07.11 |
---|---|
[JAVA] 특강 15일차 : 코딩 훈련! 문제 풀이 (반복문 & 배열) (0) | 2022.07.10 |
[JAVA] 특강 13일차 : 코딩 훈련! 문제 풀이 (연산자&제어문&반복문) (0) | 2022.07.07 |
[JAVA] 특강 12일차 : 메소드&객체 문제 풀이 (0) | 2022.07.05 |
[JAVA] 특강 11일차 : 가위바위보 게임 만들기 (0) | 2022.07.05 |