#자바 #Array #for

 

 public static void main(String[] args) {
  
  // 배열 선언
  int[] arr1; // arr1 = null
  int arr2[];
  
  // 배열 생성(자바의 경우, 배열 안에 있는 초기 값들을 모두 0으로 초기화 시킴)
  // new의 역할 : 메모리의 힙(heap) 영역에 동적 메모리 할당(메모리 할당 연산자)
  arr1 = new int[5]; // ex) arr1 = 0x100(>4byte)
  
  // 배열에 대한 접근
  arr1[0] = 10; // 변수명[배열]
  arr1[1] = 20;
  arr1[3] = 30;
  arr1[4] = 40;
  
  System.out.println("arr1[0] = " + arr1[0]);
  System.out.println("arr1[1] = " + arr1[1]);
  System.out.println("arr1[2] = " + arr1[2]);
  System.out.println("arr1[3] = " + arr1[3]);
  System.out.println("arr1[4] = " + arr1[4]);
  
  // 배열 선언과 동시에 할당
  int[] num = {10, 20, 30, 40, 50};
  int[] num2 = new int[] {11, 12, 13, 14};
  
  System.out.println("num[0]" + num[0]);
  System.out.println("num[1]" + num[1]);
  System.out.println("num[4]" + num[4]);
  
  // 인덱스를 사용한 순차적 조회가 가능하기 때문에 제어문과 사용하는 것이 가장 좋다.
  int[] score = new int[10]; // 4byte * 10 = 40 byte 공간 생성
  

  // 3의 배수 출력
  for(int i=0; i<score.length; i++) { // score의 길이를 가져온다.(상수[=이하 리터럴] 적지 말것)
   score[i] = (i + 1) * 3;
  }
  for(int i=0; i<score.length; i++) {
   System.out.print(score[i] + ", ");
  }
 }

#자바 #BufferedReader #Method #do ~ while

 

public static void main(String[] args) throws NumberFormatException, IOException {
  
  
  // 국어, 영어, 수학 점수 입력 받아 총점, 평균 구하기
  BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  
  int kor = getScore("국어",reader); // 메서드 호출
  int eng = getScore("영어",reader);
  int math = getScore("수학",reader);

  
  int total = kor + eng + math;
  float avg = total/3.0F;
  
  System.out.println("===== 기말고사 성적표 =====");
  System.out.println("국어\t 영어\t 수학\t 총점\t 평균");
  System.out.printf("%d\t %d\t %d\t %d\t %.2f", kor, eng, math, total, avg);
 }
 
 // 모듈화(메서드 선언) -> 선언을 바꾸지 않는 것이 좋다.
 public static int getScore(String subject, BufferedReader reader) throws NumberFormatException, IOException {
  int score = 0;
  do {
   System.out.print(subject + " : ");
   score = Integer.parseInt(reader.readLine());
   if(score <0 || score > 100) {
    System.out.println("점수는 0 ~ 100 범위 내의 숫자로 입력해주세요.");
   }
  }while(score < 0 || score > 100);
  return score;
 }

#자바 #Method #add #max

 

 public static void main(String[] args) {
  
  int x = 10;
  int y = 20;
  
  int sum = add(x,y); // 메서드 호출(call)
  System.out.println("sum = " + sum);
  
  int maxNum = max(x,y);
  System.out.println("maxNum = " + maxNum); // 메서드 호출(call)
  System.out.println("큰 수 = " + max(152,156)); // 당연히 이렇게, 따로 변수에 담지 않고 바로 사용도 가능하다
 }
 
 // public(해당 메소드를 호출 할 수 있는 접근 제한자)
 // public > protected > default(아무것도 적지 않는 경우) > private
 /* 누구나 접근 가능 > 같은 패키지(폴더) 내 접근 가능 cf. 상속 관계에선 가능 > 같은 패키지(폴더) 내 접근 가능
     > 외부(클래스)에서 접근 불가, 오직 자기 자신(클래스)만 접근 가능 */
 
 // 메서드 선언(덧셈)


 public static int add(int a, int b) {
  
  int result = a + b;
  return result; // 결과값, Output
 }


 // 메서드 선언(삼항 연산자를 사용해 최대값 구하기)

 // return x >= y ? x : y;  => x가 y보다 크거나 같으면 x 반환(참,True), x가 y보다 작으면 y 반환(거짓,false)

 public static int max(int x, int y) {
  return x >= y ? x : y;
  
 }

 

출처 : 페액랜디 공식 카페(https://cafe.naver.com/ferd08110510)

 

 

 

A Song of Ice and Fire 5.6A.w3x

=========================================

 

발동어 : #JSOA

 

선택어 : #선택

 

도움말 : #도움말 (숫)

 

힐 : ㅎ

 

쿨 : ㅋ

 

=========================================

 

 

FERD_3.51.a00

FERD_3.51.a01

FERD_3.51.a02

FERD_3.51.alz

 

======================================

 

발동어 : #JSOA

 

선택어 : #선택

 

도움말 : #도움말 (숫)

 

힐 : ㅎ

 

쿨 : ㅋ

 

======================================

 

 

AnimalFarm_Defense_2.04o.w3x

 

===========================

 

발동어 : #JSOA

 

선택어 : #선택

 

도움말 : #도움말 (숫)

 

힐 :ㅎ

 

쿨 : ㅋ

 

===========================

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public static void main(String[] args) throws NumberFormatException, IOException {
  
  // 년와 월을 입력 받아 달력을 출력
  BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
  
  System.out.print("년을 입력해주세요 : ");
  int year = Integer.parseInt(read.readLine());
  
  System.out.print("월을 입력해주세요 : ");
  int month = Integer.parseInt(read.readLine());
  
  // 해당 월 첫번째 날짜(1일)가 무슨 요일인지 구하기
  // 서기 2018년 태양력(그레고리력), 1년(365일) 일주일 7일 => 365 % 7 == 1
  /*
     1년 1월 1일 : 월요일
     2년 1월 1일 : 화요일
     3년 1월 1일 : 수요일
     4년 1월 1일 : 목요일(윤년 - 366일 => 366 % 7 == 2)
     5년 1월 1일 : 토요일
   */
  
  // 1.1.1 ~ 2018.7.1 : (2017*365) + 올해 7월 1일(31+ 28 + 31 + 30 + 31 + 30 + 1) % 7 = 0~6
  // 1.1.1 ~ 2018.7.1 : 작년(2017*1) + 작년까지 윤년의 발생 횟수
  //                    + 올해 7월 1일(31+ 28 + 31 + 30 + 31 + 30 + 1) + % 7 = 0~6


  String first_day="";
  int month_day =0;
  
  // 해당 년이 윤년인지 판별
  boolean isLeapYear = false; // 평년
  if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0) {
   isLeapYear = true; // 윤년
  }
  // 작년
  int lastYear = year-1;
  // 작년까지 발생한 윤년의 횟수
  int leapYear_cnt = (lastYear/4) - (lastYear/100) + (lastYear/400);
  
  // 해당 월의 1일까지의 일자의 갯수
  int dayOfYear = 1;
  
  for(int i=1; i<month; i++) {
    switch(i) {
     case 1 :
     case 3 :
     case 5 :
     case 7 :
     case 8 :
     case 10 :
      dayOfYear+=31;
      break;
     case 2 :
      if(isLeapYear) {
       dayOfYear+=29; 
      }
      else {
       dayOfYear+=28;
      }
      break;
     default : dayOfYear+=30; break;
     
    }
      
    
  }  // 해당 월의 첫번째 날짜의 요일
    int dayOfweek = (lastYear + leapYear_cnt + dayOfYear)%7;
    

    // 월에 따른 날짜 출력 조건
    int lastDay = 0;
    if(month == 4 || month == 6 || month == 9 || month == 11) {
     lastDay = 30;
    }
    else if(month == 2) {
     lastDay = isLeapYear ? 29 : 28;
    }
    else {
     lastDay = 31;
    }
    
    System.out.printf("%d년 %02d월\n", year, month);
    System.out.printf("일\t월\t화\t수\t목\t금\t토\n");
    // 공백 출력
    for(int i =0; i<dayOfweek; i++) {
     System.out.print("\t");
    }
    // 날짜 출력
    for(int i = 1; i<=lastDay; i++) {
     System.out.print(i + "\t");
     if((dayOfweek + i)%7 ==0) {
      System.out.println();
     }
    }
    
    /*switch(dayOfweek) {
     case 0 : first_day = "일요일"; break;
     case 1 : first_day = "월요일"; break;
     case 2 : first_day = "화요일"; break;
     case 3 : first_day = "수요일"; break;
     case 4 : first_day = "목요일"; break;
     case 5 : first_day = "금요일"; break;
     case 6 : first_day = "토요일"; break;
    }*/

    
  
 }

 public static void main(String[] args) throws NumberFormatException, IOException {
  
  
  // 국어, 영어, 수학 점수 입력 받아 총점, 평균 구하기(기초)
  BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

  int kor,eng, math;
  
  do {
   System.out.print("국어 : ");
                   //NumberFormatException, IOException
   kor = Integer.parseInt(reader.readLine());


   if(kor <0 || kor>100) { // 입력을 받은 뒤에 if 조건문을 삽입하여 가이드 라인 제공
    System.out.println("점수는 0 ~ 100 범위 내에서 입력해주세요.");
   }


  }while(kor < 0 || kor > 100); // 조건식(다시 입력 받아야 하는 경우, 0~100 범위가 아닌 경우)
  
  do {
   System.out.print("영어 : ");
   eng = Integer.parseInt(reader.readLine());
  }while(eng < 0 || eng > 100);
  
  do {
   System.out.print("수학 : ");
    math = Integer.parseInt(reader.readLine());
  }while(math < 0 || math > 100);
  
  int total = kor + eng + math;
  float avg = total/3.0F;
  
  System.out.println("===== 기말고사 성적표 =====");
  System.out.println("국어\t 영어\t 수학\t 총점\t 평균");
  System.out.printf("%d\t %d\t %d\t %d\t %.2f", kor, eng, math, total, avg);


 }

  // 구구단(for)
  for(int dan=2; dan<=9; dan++) {
   System.out.println("=====" + dan + "단=====");
   for(int n=1; n<=9; n++) {
    System.out.printf("%d * %d = %d\n",dan,n,dan*n);
   }
  }
  


  // 구구단(while)
  int dan1 = 2;
  while(dan1<=9) {
   System.out.println("=====" + dan1 + "단=====");
   int m = 1;
   while(m<=9) {
    System.out.printf("%d * %d = %d\n",dan1,m,dan1*m);
    m++;
   }
   dan1++;
  }

+ Recent posts