일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
26 | 27 | 28 | 29 | 30 | 31 |
- 빅오표기법
- DATABASE
- DB 제약조건
- DTO
- 자바
- java
- oracle developer
- oracle db
- C언어 표준 라이브러리
- sql
- break
- mvc디자인패턴
- JavaSwing
- O(n)
- JSP
- 오라클
- 접근제한자
- DAO
- Oracle
- Vo
- 데이터베이스
- 자바연산자
- o(log n)
- 메이븐업데이트
- C#접근제어자
- DEFAULT
- java접근제어자
- DB
- C#접근제한자
- Oracle SQL Developer
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
Numeric / Prime 퀴즈 본문
Quiz 1>
package quiz;
import java.util.Scanner;
public class B08_Numeric {
/*
사용자가 입력한 문자열이 모두 숫자로 구성된 문자열인지 판별하는 프로그램을 만들어보세요
a1234 >> 모두 숫자인 문자열이 아닙니다
18732 >> 모두 숫자인 문자열입니다.
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("입력하세요 : ");
String number = sc.nextLine();
boolean numeric =true;
for (int i = 0; i < number.length(); ++i) {
char ch = number.charAt(i);
if (ch >= '0' && ch <= '9') {
numeric = false;
break;
}
}
if (numeric) {
System.out.println("모두 숫자인 문자열이 아닙니다");
} else {
System.out.println("모두 숫자인 문자열입니다");
}
}
}
논리연산자를 잘못 사용 하였다.
↓선생님 풀이
package quiz;
import java.util.Scanner;
public class B08_Numeric_T {
// 사용자가 입력한 문자열이 모두 숫자로 구성된 문자열인지 판별하는 프로그램을 만들어보세요
// 1. 숫자의 개수를 센다, 문자열의 길이와 숫자의 개수가 같으면 모두 숫자
// 2. 탐색하며 하나씩 보면서 숫자가 아닌게 하나라도 등장하면 모두 숫자가 아님 (검사를 그만) ★이걸로 풀어봐주게씀
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print(" :");
String str = sc.next();
boolean onlyNumber = true;
//한 문자씩 검사하다가 숫자가 아닌것이 발견되면 onlyNumber를 false로 바꾼다
for(int i=0; i <str.length();++i) {
char ch = str.charAt(i);
if(ch<'0' || ch>'9') {
onlyNumber = false;
break;
}
/*
onlyNumber = ch<'0' || ch >'9';
if(onlyNumber) {
break;
}
*/
}
if(onlyNumber) {
System.out.println("숫자로만 이루어진 문자열입니다.");
} else {
System.out.println("숫자로만 이루어지지 않았습니다.");
}
}
}
Quiz 2>
package quiz;
public class B08_ContinueQuiz {
//1. 600 ~800사이의 7의 배수를 모두 출력하기
//2. 1~200 까지의 숫자중 2의 배수도 아니고 3의 배수도 아닌 숫자 모두 출력
//3. 출력한 모든 숫자의 합을 출력하기
public static void main(String[] args) {
int sum = 0;
//1. 600 ~800사이의 7의 배수를 모두 출력하기
for (int i = 600; i <= 800; ++i) {
if (i % 7 != 0) {
continue;
}
sum += i;
System.out.print(i + " ");
}
System.out.println();
//2. 1~200 까지의 숫자중 2의 배수도 아니고 3의 배수도 아닌 숫자 모두 출력
for (int i = 1; i <= 200; ++i) {
if (i % 2 == 0 || i % 3 == 0) { // 2의 배수와 3의 배수를 만나면 다음반복으로 넘어가기때문
continue;
}
sum += i;
System.out.print(i + " ");
}
System.out.println();
//3. 출력한 모든 숫자의 합을 출력하기
System.out.println("모든 숫자의 합 :" + sum);
}
}
Quiz 3>
package quiz;
import java.util.Scanner;
/*
사용자가 정수를 입력하면 1부터 입력한 정수 사이에 있는 모든 소수를 출력
소수 (prime) : 나누어 떨어지는 수가 1과 자기 자신 밖에 없는 수
1,2,3,5,7,11,13,17,19,23,29.....
사용자가 10 입력하면 > 10과 1사이의 소수 2,3,5,7 이 나오도록
*/
public class B09_Prime_T {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("숫자 >");
int num = sc.nextInt();
for (int i = 2; i <= num; ++i) {
boolean isPrime = true;
//1> count 이용, 약수가 2개인지 검사하기
//2> boolean 이용 2부터 i-1에 약수가 존재하면 소수가 아님
//3> 2부터 루트i까지 약수가 존재하면 소수가 아님 -> B09_Prime
// int count = 0;
// 이번숫자 i에 대한 약수 개수 검사
// for (int chk = 1; chk <= i; ++chk) {
for (int chk = 2; chk < i; ++chk) {
if (i % chk == 0) { // 이건 약수
isPrime = false;
break;
//++count;
// System.out.printf("%d는 %d로 나누어 떨어집니다.+" + "[약수의 개수: %d개]\n", i, chk, count);
}
}
// 검사가 끝났을때 약수가 2개라면 소수
// System.out.printf("%d는 소수인가요? %s\n", i, count == 2);
// if (count ==2 ) {
if (isPrime) {
System.out.print(i+ " ");
}
}
System.out.println();
}
}
'백엔드개발 > JAVA Quiz. zip' 카테고리의 다른 글
java / 무작위 숫자 생성하기 quiz (1) | 2023.11.09 |
---|---|
Java / 랜덤 임시 비밀번호 만들기 quiz (1) | 2023.11.09 |
Java 구구단 만들기 (0) | 2023.11.09 |
문자열 Include Uppercase & Include E Quiz (1) | 2023.11.09 |
문자열 Changecase 퀴즈 (0) | 2023.11.09 |