본문 바로가기

2023.11.21-2024.05.31

1206수업12일차(JAVA) - Test01

 package dec06;

 

 //if문 2023-12-06

 public class Test01 {

  public static void main(String[] args) {

  // 1~127까지의 랜덤한 수를 뽑는 코드를 만들어주세요.

  // Math.random();을 이용해서.

  char random = (char) (Math.random() * 127 + 1);// 1부터 128 사이의 무작위 ASCII 코드를 생성

  System.out.println(random);

  // 8줄을 바꿔도 되고, 9줄을 (char)을 넣어도 된다.

 

  // 영문자인지, 숫자인지, 특수기호인지 찾아내는 if문 만들고 싶어요

 

  if (random >= '0' && random <= '9') {

  System.out.println("숫자입니다.");

  } else if (random >= 'A' && random <= 'Z') {

  System.out.println("영어 대문자입니다.");

 

  } else if (random >= 'a' && random <= 'z') {

  System.out.println("영어 소문자입니다.");

 

  } else

  System.out.println("숫자/영어 외 문자입니다.");

 

  //=========================================================

  //보기 어려워서 보기 쉬운 걸로 바꿔보겠습니다.

  //메소드로 구분하기

  //api보기

  //Character 클래스가 있습니다.

  //이 클래스는 자바에서 사용되는 모든 문자 정보가 있습니다.

  //특정 메소드를 사용하면 더 쉽게 만들 수 있습니다.

 

  if(Character.isDigit(random)) {

  System.out.println("숫자입니다.");

  } else if(Character.isUpperCase(random)) {

  System.out.println("대문자 입니다.");

  //(Character.isAlphabetic(random))

  } else if(Character.isLowerCase(random)) {

  System.out.println("소문자 입니다.");

  } else if(Character.isAlphabetic(random)) {

  System.out.println("특수문자 입니다.");

  //API 애플리케이션

  }

  }

 

 }

 

  // 1~127까지의 랜덤한 수를 뽑는 코드를 만들어주세요.

이 코드는 0부터 126 사이의 ASCII 문자 중에서 무작위로 하나를 선택하여 출력하는 코드입니다.

다만, 표준 ASCII 문자 범위는 0부터 127까지이므로, Math.random() * 127 + 1로 설정한 것입니다.

Math.random()은 0 이상이고 1 미만인 double 값을 반환하므로, (Math.random() * 127 + 1)은 1부터 128 사이의 double 값을 생성합니다. 

그리고 (char)로 형변환하면 해당 범위의 ASCII 코드 중 하나를 나타내는 char 값이 됩니다.

 

* Character.isDigit(char ch)

주어진 문자 ch가 숫자인지를 판별하는 Java의 정적 메서드입니다.

이 메서드는 ch가 0에서 9 사이의 숫자인 경우 true를 반환하고, 그 외의 경우에는 false를 반환합니다.