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;

 

 

 

 

 

 

그래두 주말내내 이거 다했다~ >3<

 

 

 

 

 

728x90