티스토리 뷰
import java.util.Scanner;
public class testcoding {
int[] com=new int[3];
int[] user=new int[3];
int s,b;
void getRand()// 난수 발생 메소드
{
int su=0;
boolean bDash=false; // 중복 여부 확인. 중복 = true/중복 아님 = false
//난수 3개 발생
for(int i=0; i<3; i++)
{
bDash=true;
while(bDash) // 중복시 계속 루프 수행
{
su=(int)(Math.random()*9)+1;//1~9사이의 난수 발생
bDash=false;
//중복 여부 확인
for(int j=0; j<i; j++)
{
if(com[j]==su) // 중복된 수가 있다면
{
// 다시 while문 수행(난수 다시 발생)
bDash=true;
break; //for문만 벗어남
}
}
}
com[i]=su; // 중복이 없는 경우 저장
}
}
void input() // 입력 메소드
{
Scanner scan=new Scanner(System.in);
while(true)
{
System.out.print("세자리 정수를 입력하세요(100~999) : ");
int num=scan.nextInt();
if(num<100 || num>999)
{
System.out.println("잘못된 입력입니다.");
continue;
}
//입력 받은 세자리 숫자 분해
user[0] = num/100; // 100자리 분해
user[1] = (num%100)/10; // 10자리 분해
user[2] = num%10; // 1자리 분해
/*
* ex) 235
*
* 235 / 100 = 2
* 235%10 = 35/10 = 3
* 235%10 = 5
*/
//사용자 입력 중복 숫자 검사
if(user[0]==user[1] || user[1]==user[2] || user[0]==user[2])
{
System.out.println("중복된 수는 입력할수 없습니다.");
continue;
}
compare();
hint(num);
if(end())
{
System.out.print("Continue? (Y/N) : ");
String yn=scan.next();
char c=yn.charAt(0);
if(c=='Y'|| c=='y')
{
System.out.println("Restart");
getRand();
input();
}
else
{
System.out.println("Exit");
break;
}
}
}
}
void compare() //비교 메소드
{
s=0;
b=0;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
if(com[i]==user[j])
{
if(i==j)
s++;
else
b++;
}
}
}
}
void hint(int num) // 힌트 여부
{
System.out.print("S:");
for(int i=0; i<s; i++)
{
System.out.print("○");
}
System.out.print("\nB:");
for(int i=0; i<b; i++)
{
System.out.print("○");
}
System.out.println();
System.out.printf("입력 숫자 : %d, 결과 : %d S - %d B\n",num,s,b);
}
boolean end() // 종료여부
{
if(s==3)
return true;
return false;
}
public static void main(String[] args) {
testcoding base=new testcoding(); // base는 stack에 저장됨
base.getRand();
base.input();
}
}
'Programming? > JAVA' 카테고리의 다른 글
쓰레드를 이용한 타임워치 (0) | 2012.07.30 |
---|---|
달력 출력 ver 메소드 (0) | 2012.07.12 |
2차원 배열을 이용한 모래시게 (0) | 2012.07.07 |
2차원 배열을 이용한 다이아몬드 (0) | 2012.07.07 |
버블정렬 (0) | 2012.07.06 |
- Total
- Today
- Yesterday
- jdbc
- Unleashed
- 무사헌터G
- PS VITA
- DnF_카인
- spring
- oracle
- XML
- League of legends
- Talesweaver_Palshu
- 이건사야되!
- HTML
- jsp
- C Programming
- GOD EATER2
- PSP
- Android
- java
- 포세리앙 시밤...
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |