package Exercise5;

public class Exercise5_3 {

 public static void main(String[] args) {

  int[] arr = {10,20,30,40,50};
  
  int sum = 0;
  
  for (int i = 0; i < arr.length; i++) {
   sum = sum+arr[i];
  }
  System.out.println("sum : "+sum);
 }
}

 

-----------------------------------------------------------------------------------

 

 

package Exercise5;

public class Exercise5_4 {

 public static void main(String[] args) {

  int[][] arr = {{5,5,5,5,5},{10,10,10,10,10},{20,20,20,20,20},{30,30,30,30,30}};
  
  int total = 0;
  float average = 0;
  
  for (int i = 0; i < arr.length; i++) {
   for (int j = 0; j < arr[i].length; j++) {
    total += arr[i][j];
   }
  }
  average =(float) total/(arr.length*5);
  System.out.println("total="+total);
  System.out.println("average="+average);
 }

}

 

---------------------------------------------------------------------------------

 

 

package Exercise5;

public class Exercise5_5 {

 public static void main(String[] args) {

  int[] ballArr = {1,2,3,4,5,6,7,8,9};
  int[] ball3 = new int[3];
  
  for (int x = 0; x < 20; x++) {    //20번 돌려준다.
   int i = (int)(Math.random() * ballArr.length);  //9개중에서 한개를 뽑는다.
   int j = (int)(Math.random() * ballArr.length);  //9개중에서 한개를 뽑는다.
   
   int temp = 0;    //  임시저장공간을 하나 만든다.
 
    temp = ballArr[i];
    ballArr[i] = ballArr[j];
    ballArr[j] = temp;           //치환한다.
  }
  System.arraycopy(ballArr, 0, ball3, 0, 3);   //치환된 값을 ball3 에 복사한다.
  
  for (int i = 0; i < ball3.length; i++) {
   System.out.print(ball3[i]);        //값을 출력한다.
  }
 }
}

 

--------------------------------------------------------------------------------------

 

 

package Exercise5;

public class Exercise5_6 {

 public static void main(String[] args) {

  //큰 금액의 동전을 우선적으로 거슬러 줘야한데..
  int[] coinUnit = {500,100,50,10};
  
  int money = 2680;
  System.out.println("money="+money);
  
  /*for (int i = 0; i < coinUnit.length; i++) {
   int n = money/coinUnit[i];
  }*/  //의미 없는 구문이었음.ㅋ;;
  
  for (int i = 0; i < coinUnit.length; i++) {
   
   System.out.println(coinUnit[i]+"원 : "+money/coinUnit[i]);
   
   money = money%coinUnit[i];     //money 값은 위에 계산된 값은 coinUnit[i] 값으로
  }                                          //계속 나눈 나머지 값이 된다. 이 구문은 두루두루 사용될것이다.!
 }

}

 

 

------------------------------------------------------------------------------------------------

 

package Exercise5;

public class Exercise5_8 {

 public static void main(String[] args) {

  int[] answer = {1,4,4,3,1,4,4,2,1,3,2};      //0~11      (크기가 12인 배열)     
  int[] counter = new int[4];                          //0,1,2,3  (크기가 4인 배열)
  
  for (int i = 0; i < answer.length; i++) {
   counter[answer[i]-1]++;     //안타깝게도 answer 배열은 0이 없다..그래서 counter 배열 0과 맞추어
  }                                       //줘야 하기때문에 answer 배열에서 1을 뺀그다~~ 방이 0,1,2,3 이렇게 있으니
  
  for (int i = 0; i < counter.length; i++) {
   System.out.print(counter[i]);
   
   for (int j = 0; j < counter[i]; j++) {
    System.out.print("*");            //바로 위에 연결하여 counter[i] 값을 구한만큼 별을 찍어라!
   }
   System.out.println();   //썅~! 줄바꿈도 중요하군..ㅋㅋ
  }
 }
}

 

---------------------------------------------------------------------------------------------------

 

 

package Exercise5;

public class Exercise5_9 {

 public static void main(String[] args)
 {

  char[][] star = {{'*','*',' ',' ',' '},{'*','*',' ',' ',' '},{'*','*','*','*','*'},{'*','*','*','*','*'}};
  char[][] result = new char[star[0].length][star.length];
                                                // 5?                  //4?
  
  for (int i = 0; i < star.length; i++)     //4행
  {
   for (int j = 0; j < star[i].length; j++)   //5열
   {   
    System.out.print(star[i][j]);
   }
   System.out.println();
   }
  
  System.out.println();
  
  for (int i = 0; i < star.length; i++)      //4행
  {
   for (int j = 0; j < star[i].length; j++)    //5열
   {
    int a = j;                               // a 는 5열
    int b = star.length-1-i;           // b 는 4행       4-1-0=3    /   4-1-1=2  /  4-1-2=1  /  4-1-3=0  /   
    
    result[a][b] = star[i][j];        //result[5][4] = star[4][5]
   }
  }
  
  for (int i = 0;  i< result.length; i++) {
   for (int j = 0; j < result[i].length; j++) {
    System.out.print(result[i][j]);
   }
   System.out.println();
  }
 }
}

//책의 답안대로 하면...숫자를 쓰면서....음.. 책의 원리도 나쁜건 아니얌~! 이문제는 생각하기 나름이다.ㅋ

 

 

----------------------------------------------------------------------------------------------------

 

 

package Exercise5;

public class Exercise5_10 {

 public static void main(String[] args)
 {

  char[] abcCode = {'`','~','!','@','#','$','%','^','&','*','(',')','-','_','+','=','|','[',']','{','}',';',':',',','.','/'};
  char[] numCode = {'q','w','e','r','t','y','u','i','o','p'};
  
  String src = "abc123";
  String result = "";
  
  for (int i = 0; i < src.length(); i++) {
   char ch = src.charAt(i);
   
  }
  
  System.out.println("src : "+src);
  
  char[] abc = new char[3];
  System.arraycopy(abcCode, 0, abc, 0, 3);
  //System.out.print(new String(abc));
  
  char[] num = new char[3];
  System.arraycopy(numCode, 1, num, 0, 3);
  //System.out.print(new String(num));
  
  result = new String(abc) + new String(num);
  System.out.println("result : "+result);
 }
}


// 책이랑 쫌 다르게 풀어봤엉~~ 답만 나오면 된다고 했으니깐..배운대로 복사를 이용해서 풀었습니다.

 

------------------------------------------------------------------------------------------------

 

 

package Exercise5;

public class Exercise5_11 {

 public static void main(String[] args) {

  int[][] score = {{100,100,100},{20,20,20},{30,30,30},{40,40,40},{50,50,50}};    //5행  3열
  int[][] result = new int[score.length+1][score[0].length+1];
                                            //6행                    //4열
  
  for (int i = 0; i < score.length; i++) {     //0 ~ 4 까지
   
   
   for (int j = 0; j < score[i].length; j++)     // 0 ~ 2 까지
   { 
    //System.out.print(score[i][j]);
    result[i][j] = score[i][j];   //복사~
    
    //문제는 지금부터얌..
    result[i][score[j].length] = result[i][score[j].length] + result[i][j];  //가로 세로 합
    //여기서 i 값은 괄호를 나가면 계속 '0'   score[j].length 는 0 ~ 2까지 네용!
    
    result[score[i].length+2][j] = result[score[i].length+2][j] + result[i][j];
    //이번에는 행 값이 증가하고 열값은 계속 고정이어야 하는건데...나..원참..
    
    result[score[i].length+2][score[j].length] = result[score[i].length+2][score[j].length] + result[i][j];
    //얼떨결에 풀었는데..이해가 잘 안간다..ㅋㅋ 내일도 다시 봐야겠어~ㅠ_ㅠ
   }
   
   
   
  }
  
  for (int i = 0; i < result.length; i++) {
   for (int j = 0; j < result[i].length; j++) {
    System.out.printf("%4d",result[i][j]);
   }
   System.out.println();
  }
 }

}

 

~~아오 드럽게 빡세네..그래도 문제푸는게 재미는 있네..드럽게 안풀려서 그러지..ㅠ_ㅠ

 

 

Posted by 옆모습오빠
: