전체 글 (4002)

i++는 내부적으로 다음과 같이 동작한다.

1. i의 현재 값을 보관한다. (현재 실행되는 명령문에서는 이 보관된 값이 사용되어야 하니까)

2. i의 값을 1 더한다.

3. 보관했던 값을 반환한다.


++i는 내부적으로 다음과 같이 동작한다.

1. i의 값을 1 더한다.

2. i의 값을 반환한다.



'내 첫사랑! 컴퓨터 프로그래밍' 카테고리의 다른 글

개발자의 조건?!  (0) 2017.01.04
접근제한자란  (0) 2017.01.02
static 변수에 대해서  (0) 2016.12.06
if문에서 break 명령 사용의 의미  (0) 2016.12.03
Error클래스와 Exception클래스 비교  (0) 2016.03.28
import java.io.*;
public class Room_mgmt_2 {
   public static void main(String[] args) throws IOEception {
      BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


      boolean status = true, stat = true;
      int numoffloor = 0;
      int menu = 0;
      int fn = 0;
      System.out.println("================================");
      System.out.println("\thotel management");
      System.out.println("================================");
      System.out.println("Number of floors = ");
      numoffloor = Integer.parseInt(in.readLine());
      System.out.println();
      int[] numofroom = new int[numoffloor];
      String[][] roomname = new String[numoffloor][];
      String[][] guestname = new String[numoffloor][];
      int[][] numofparty = new int[numoffloor][];
      int[][] charge = new int[numoffloor][];
      int[][] days = new int[numoffloor][];
      for(int i=0;i<numoffloor;i++) {
           System.out.print("Number of rooms of floor " + (i+1) + "=");
           numofroom[i] = Integer.parseInt(in.readLine());
           System.out.println();
           roomname[i] = new String[numofroom[i]];
           guestname[i] = new String[numofroom[i]];
           numofparty[i] = new int[numofroom[i]];
           charge[i] = new int[numofroom[i]];
           days[i] = new int[numofroom[i]];
           System.out.println("Basic Data floor #" + (i+1) + ":");
           for(int j=0;j<numofroom[i];j++) {
                System.out.println("  Basic Data for Room #" + (j+1) + " : ");
                System.out.println("    Room name = ");
                roomname[i][j] = in.readLine();
                System.out.print("      Charge for 1 day = ");
                charge[i][j] = Intger.parseint(in.readLine());
           }
      }


      do {     
          System.out.println(" 1 : Check in / 2 : Check out / 3 : Room Information / 0 : Exit");
          System.out.print("Type Menu (0~3) = ");
          menu = Integer.parseInt(in.readLine());
          System.out.println();


          stat = true;


          switch (menu) {
              case 0:
                  status = false;
                  break;
              case 1:
                  do {
                      stat = false;
                      System.out.print(" Check in Floor = ");
                      fn = Integer.parseInt(in.readLine());
                      if(fn <= 0 || numofloor < fn) stat=true;
                  } while (stat);
                  fn--;
                  stat=true;
                  System.out.println();
                  System.out.println("\tFloor = " + (fn + 1));
                      System.out.println("\t==========\t ==========\t ==========\t ==========");
                      System.out.println("\tRoom #\t Room Name\t Charge/day\t Guest\t Num of party");
                      System.out.println("\t==========\t ==========\t ==========\t ==========");
                  for(int i=0;i<numofroom[fn];i++)
                      System.out.println("\t" + (i+1) + "\t " + roomname[fn][i] + "\t " + charge[fn][i] + "/day\t " + guestname[fn][i] + "\t " + numofparty[fn][i]);
                      System.out.println("\t==========\t ==========\t ==========\t ==========");
                  do {
                      System.out.print(" Check in Room Number ( 0 = cancel ) = ");
                      int rn = Integer.parseInt(in.readLine());
                      if(rn == ) break;
                      --rn;
                      if(0<=rn && rn < numofroom[fn] && guestname[fn][fn] == null) {
                          stat = false;
                          System.out.print(" Guest name = ");
                          guestname[fn][fn] = in.readLine();
                          System.out.print(" Number of party = ");
                          numofparty[fn][fn] = Integer.parseInt(in.readLine());
                          System.out.print(" Number of day = ");
                          days[fn][rn] = Integer.parseInt(in.readLine());
                      }
                   } while (stat);
                   break;
             case 2:
                 do {
                     stat = false;
                     System.out.print(" Check out Floor = ");
                     fn = Integer.parseInt(in.readLine());
                     if(fn <= 0 || numofloor < fn) stat=true;
                 } while(stat);
                 fn--;


                 stat = true;
                 System.out.println();
                 System.out.println("\tFloor = " + (fn + 1));
                     System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                     System.out.println("\tRoom #\t Room Name\t Charge/day\t Guest\t Num of party");
                     System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                 for(int i=0; i<numofroom[fn]; i++)
                         System.out.println("\t" + (i+1) + "\t " + roomname[fn][i] + "\t " + charge[fn][i] + "/day\t " + guestname[fn][i] + "\t " + numofparty[fn][i]);
                     System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                 do {
                     System.out.print(" Check out Room Number ( 0 = cancel ) = ");
                     int rn = Integer.parseInt(in.readLine());
                     if(rn == ) break;


                     --rn;
                     if( 0 <= rn && rn < numofroom[fn] && guestname[fn][fn] != null) {
                           stat = false;
                                   System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                                   System.out.println("\t" + (rn+1) + "\t " + roomname[fn][fn] + "\t " + charge[fn][rn] + "/day");
                                   System.out.println("\t\t  " + guestname[fn][rn] + " (" + numofparty[fn][rn] + ")\t \" + days[fn][rn] * charge[fn][rn] + "/" + days[fn][rn] + " days");
                                   System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                                   guestname[fn][rn] = null;
                                   numofparty[fn[prn] = 0;
                                   days[fn][rn] = 0;
                                }
                              } while (stat);
                              break;
             case 3:           
                for (fn = 0; fn < numoffloor; fn++) {
                     // System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                     System.out.println();
                     System.out.println("\tFloor = " + (fn + 1));
                      System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                     System.out.println("\tRoom #\t  Room Name\t Charge/day\t Guest\t Num of party");
                     System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                     for (int i = 0; i < numofroom[fn]; i++)
                          System.out.println("\t" + (i+1) + "\t "+ roomname[fn][i] + "\t " + charge[fn][i] + "/day\t " + guestname[fn][i] + "\t " + numofparty[fn][i]);
                          System.out.println("\t==========\t ==========\t ==========\t  =====\t==========\t =====\t ============");
                }
                break;
             default:
                 System.out.println("illegal menu1");
          } 
        } while (status);
        System.out.println("Good Luck! Bye");
     }
}



 

멸치된장찌개
낙지젓
알타리
들기름 계란후라이
잡곡밥

'매일매일 일기장' 카테고리의 다른 글

2016년 1월 2일 점심  (0) 2017.01.02
2016년을 돌아보며...  (0) 2016.12.27
2016년 12월 8일 점심  (0) 2016.12.08
제2회 KOSTA 소프트웨어경진대회 참관 후기  (0) 2016.11.24
2016년 11월 10일 목요일 저녁  (0) 2016.11.10
 import java.io.*;
public class Grade_of_school {
   public static void main (String args[]) throws IOException {
      BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
      int numofclass = 0, numofcture = 0;
      System.out.println("================================");
      System.out.println("\tAll of My School");
      System.out.println("================================");
      System.out.println("Number of classes = ");
      numofclass = Integer.parseInt(in.readLine());
      System.out.println();
      int[][] studentdata = new int[numofclass][][];
      int[] numofstudent = new int[numofclass];
      String[][] studentname = new String[newofclass][];
      float[][] studentavg = new float[numofclass][];
      System.out.println("Number of lectures = ");
      numoflecture = Integer.parseInt(in.readLine());
      System.out.println();
      System.out.println("======================================");
      System.out.println("\tInput Data!");
      System.out.println("======================================");
      for(int i=0;i<numofclass;i++) {
           System.out.print("Number of students in clas " + (i + 1) + "=");
           numofstudent[i] = Integer.parseInt(in.readLine());
           System.out.println();
           studentdata[i] = new int[numofstudent[i][numoflecture+3];
           studentname[i] = new String[numofstudent[i]];
           studentavg[i] = new float[numofstudent][i];
           System.out.println((i+1) + "th Class Data :");
           for(int j=0;j<numofstudent[i];j++){
                System.out.println("     " + (j+1)+"th Student Data : ");
                System.out.print("          Name : ");
                studentname[i][j] = in.readLine();
                for(int k=0;k<numoflecture;k++) {
                    int score = 0;
                    do {
                        System.out.print("    " + (k+1) + "th lecutre score (0~100): ");
                        score = Integer.parseInt(in.readLine());
                    } while ( score < 0 || 100 < score);
                    studentdata[i][j][k+3] = score;
                    studentdata[i][j][2] += score;
                }
                studentavg[i][j] = (float)studentdata[i][j][2] / numoflecture;
                studentdata[i][j][0] = 1;
                studentdata[i][j][1] = 1;
            }
            System.out.println();
            for(int j=0;j<numofstudent[i];j++)
                for(int k=0;k<numofstudent[i];k++)
                    if(studentdata[i][j][2] < studentdata[i][k][2])
                         studentdata[i][j][1]++;
      }
      for (int i=0li<numofclass;i++)
           for(int j=0;j<numofstudent[i];j++)
              for(int m=0;m<numofclass;m++)
                  for(int n=0;n<numofstudent[m];n++)
                      if(studentdata[i][j][2] < studentdata[m][n][2])
                           studentdata[i][j][0]++;
      System.out.println("==================================");
      System.out.println("\tStudent Informations");
      System.out.println("==================================");
      for(int a=0;a<numofclass;++a) {
           System.out.print("Class\tNum\tName\tT_grade\tC_grade\tSum\tAvg);
           for(int k=0;k<numoflecture;k++)
               System.out.print("\tLect " + (k + 1));
           System.out.println();
           for(int b=0;b<numofstudent[a];++b){
                System.out.print((a+1) + "\t" + (b+1) + "\t" + studentname[a][b] + "\t");
                for(int i=0;i<3;++i)
                     System.out.print(studentdata[a][b][i] + "\t");
                System.out.printf("%.2f\t", studentavg[a][b]);
                for(int i=0;i<numoflecture;++i) {
                     System.out.printf(studentdata[a][b][i+3] + "\t");
                }
                System.out.println();
           }
           System.out.println();
      }
      System.out.println();
      System.out.println("Good Luck! Bye~");
   }
}           

 

 


잡곡밥
콩나물국
동치미
알타리
낙지젓
사라다

# While 문은 미리 반복 횟수를 알 수 없고 조건에 따라 반복하는 경우에 사용한다.

   조건이 만족되면 반복을 계속하는 구조!

 

# 무한 루프는 조건식으로 true를 적으면 된다.

 

static으로 선언된 변수, 클래스 변수라고 한다.


그 이유인즉, static으로 선언된 변수는

변수가 선언된 클래스의 모든 인스턴스(객체)가 공유할 수 있는 변수이기 때문이다.


의문을 갖다고 생각해보면

우리 네트워크로 연결되어있는 컴퓨터의 폴더를 공유를 하면

다른 사람들도 볼 수 있고, 권한도 부여해주면 다른 사람이 수정도 가능하다.


그럼 어떻게 할까?

마지막에 수정한 파일만이 존재한다.


※ 수정 권한을 주지 않을 때는 final로 선언하면 되겠다.



System.in.read()

콘솔 창에서 입력을 받는 함수이다.

콘솔창에 입력 되는 값은 모두 아스키코드 값으로 입력받는다.

  예 1) A를 입력 받으면 A의 아스키 코드값인 65가 입력된다. ​

  예 2) 숫자 0을 입력받으면 아스키 코드값인 48이 입력된다.

활용방법

 

예 1)

    ​char a = (char) System.in.read();

    이 함수가 입력되는 것은 0~255까지의 아스키코드 값이므로 char형으로 받고 싶다면 형변환을

   ​ 하여서 받아야한다.​

예 2)

    int a = System.in.read() - 48;

    숫자를 문자로 인식하기 때문에 해당 숫자의 아스키코드값을 입력받게된다. 따라서 0의 아스키

​    코드값인 48을 빼주어서 입력받는다.

**예외 처리가 필요한 함수이다.

import java.io.*;

public static void main(String[] arg) throws java.io.IOException{}​

System.in.readLine()​

read()의 활용함수. 즉 콘솔창에서 라인 전체를 읽어온다. 이 때, 엔터키 또한 라인에 포함되어서 읽어지는 것과 엔터키는 이 함수가 알아서 처리한다는 점을 주의해야한다.​

 

 

<read.line() 함수 관련 예제>

import java.io.*;
public class Exam_08 {
   public static void main(String[] ar) throws IOException{
      BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


      int inwon = 0;
      String[] name = null;
      int[] age = null;


      System.out.println("인원 =");
      inwon = Integer.parseInt(in.readLine());
      name = new String[inwon];
      age = new int[inwon];


      for(int i=0; i<inwon; ++i){
          System.out.println(i+1+"번째 사람의 이름 = ");
          name[i] = in.readLine();
          System.out.println(i+1+"번째 사람의 나이 =");
          age[i] = Integer.parseInt(in.readLine());
      }


      System.out.println();
      for(int i=0;i<inwon;++i){
          System.out.println(i+1+":"+name[i] + ":"+age[i]);
      } 

 

 

Total
Today
Yesterday