Develop/곤부📙
일요일 혼공 / (2차원배열 두줄 출력)
밀김
2023. 3. 5. 21:43
728x90
내내 놀다가...저녁 여덟시에 겨우 하는^^ 그래듀 두시간 정도 했다~ㅎㅎ 다음주도 빠이댕~...!
<2차원배열 두줄 출력>
FileInputStream fis = new FileInputStream("res/lotto2.txt");
Scanner fsc = new Scanner(fis);
//로또 파일값 불러오기
int[][] lotto = new int[2][6];
//로또 2차원 배열
for(int r=0; r<2; r++) {
//2차원배열의 세로길이는 2줄
String line = fsc.nextLine();
String[] token = line.split(" ");
//반복문을 돌면서 로또 파일값들이 line에 들어오고, line에 있는 파일값을 띄어쓰기로 자르고
//그 자른 값들을 token 문자열 배열에 넣어준다
int[] lottos = lotto[r];
//2차원배열의 세로줄[r]의 이름을 lottos라고 정해줌
for(int i=0; i<6; i++) {
//로또배열의 값들은 한줄에 여섯줄이니 이게 반복하면서
lottos[i] = Integer.parseInt(token[i]);
//이미 잘라진 token 문자열 배열 값들을 int로 바꾸고 2차원배열인 lottos에 넣어줌
System.out.printf("%d ",lotto[r][i]);
if(i==5) {
System.out.println();
}
}
}
<로또 번호 입출력API 설계도+추가ver / 근데 이제 자동생성만 얼레벌레..>
/*
자동 번호 생성 ▶ 출력 ▶ 파일에 저장 ▶ 저장 확인 ▶ 출력 ▶ 종료
수동 번호 생성 ▶ 출력 ▶ 파일에 저장 ▶ 저장 확인 ▶ 출력 ▶ 종료
- 일단 한줄로 저장한다음에 잘라서 두줄로 만들어 2차원배열에 넣고
- 첫째줄에는 자동번호 저장하고 밑줄은 수동번호
- 출력할때 배열0번째줄 ▶ 자동번호 출력 / 1번째줄 ▶ 수동번호 출력
- 어려우면 자동,수동 파일 따로 만들어서 각각 출력해보기
*/
FileOutputStream fos = new FileOutputStream("lotto2.txt");
PrintStream ps = new PrintStream(fos);
//파일에 로또 값들을 내보내기 위한 fos
FileInputStream fis = new FileInputStream("lotto2.txt");
Scanner fsc = new Scanner(fis);
//콘솔 출력을 위한
boolean run = true;
//while문 작동을 위한
Random rand = new Random();
//자동생성을 위한 랜덤
int[] lotto = new int[6];
//로또 저장을 위한 배열
int[][] finalLotto = new int[2][6];
//자동,수동 번호 저장을 위한 로또 2차원 배열
out: while(run) {
System.out.print("\n로또 관리 프로그램\n1.자동생성\n2.수동생성\n3.내 로또 번호 보기\n4.로또 종료\n");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//자동생성
switch(num) {
case 1:
System.out.print("자동생성 입니다.\n로또번호:");
for(int i=0; i<finalLotto.length; i++) {
lotto[i] = rand.nextInt(45)+1;
for(int j=0; j<i; j++) {
if(lotto[i]==lotto[j]) {
i--;
}//if end
}//for end
}//for end
//자동출력 파일 저장
for(int i=0; i<6; i++) {
ps.printf("%d ", lotto[i]);
}
//자동출력 파일 출력
for(int i=0; i<6; i++) {
finalLotto[1][6] = fsc.nextInt();
}
for(int i=0; i<lotto.length; i++) {
System.out.printf("%d ",lotto[i]);
}
break;
//수동생성
case 2:
System.out.print("수동생성 \n번호입력하세요\n");
//수동 중복제거
for(int i=0; i<lotto.length; i++) {
lotto[i] = sc.nextInt();
}
int[] tmp = new int[5];
int count = 0;
for(int i=0; i<lotto.length; i++) {
boolean flag = false;
for(int j=0; j<tmp.length; j++) {
if(lotto[i]==tmp[j]) {
flag = true; //중복이 발생할때
}
}
}
case 3:
System.out.println("내 로또 번호 보기");
System.out.println("로또 자동번호 출력");
for(int i=0; i<6; i++) {
System.out.printf("%d ",finalLotto[1][6]);
}
break;
case 4:
System.out.println("로또 프로그램 종료");
break out;
728x90