-
평균값 계산기
// 리턴값의 자료형은 double // 메소드는 computeAverage // 파라미터로 int 배열 intArray를 받음 // Average.java public class Average { double computeAverage(int[] intArray){ int total = 0; for(int i=0; i < intArray.length; i++){ total = total + intArray[i]; } return (double) total /intArray.length; } } // AverageMain.java public class AverageMain { public static void main(String[] args) { Average finder = new Average(); int[] testArray1 = {3,7,3}; System.out.println(finder.computeAverage(testArray1)); int[] testArray2 = {1,3,4,7}; System.out.println(finder.computeAverage(testArray2)); int[] testArray3 = {4}; System.out.println(finder.computeAverage(testArray3)); int[] testArray4 = {1,2,3,4,5}; System.out.println(finder.computeAverage(testArray4)); } } // 실행결과 4.333333333333333 3.75 4.0 3.0
두 원소의 차 중 최댓값 구하기
// GreatestDifferenceFinder.java public class GreatestDifferenceFinder { int greatestDifference(int[] intArray) { // 코드를 입력하세요. // max_number, min_number의 위치가 아래아 같을 때는 오류가 난다 //int max_number = intArray[0]; //int min_number = intArray[0]; if (intArray.length < 2){ return 0; } int max_number = intArray[0]; int min_number = intArray[0]; for(int i = 0; i <intArray.length; i++){ if(intArray[i] > max_number){ max_number = intArray[i]; } if(min_number > intArray[i]){ min_number = intArray[i]; } } return max_number - min_number; } } // GreatestDifferenceFinderMain.java public class Main { public static void main(String[] args) { GreatestDifferenceFinder finder = new GreatestDifferenceFinder(); // 테스트 1 int[] testArray1 = {-2, 7, 3}; System.out.println(finder.greatestDifference(testArray1)); // 테스트 2 int[] testArray2 = {8, 3, 14, 1}; System.out.println(finder.greatestDifference(testArray2)); // 테스트 3 int[] testArray3 = {4, 2, 3, 1}; System.out.println(finder.greatestDifference(testArray3)); // 테스트 4 int[] testArray4 = {}; System.out.println(finder.greatestDifference(testArray4)); // 테스트 5 int[] testArray5 = {1, 2, -3, 4, 5}; System.out.println(finder.greatestDifference(testArray5)); // 테스트 6 int[] testArray6 = {1}; System.out.println(finder.greatestDifference(testArray6)); } } // 결과 9 13 3 0 8 0 ================================================================== + else를 붙여보았당 public class GreatestDifference { int greatestDifference(int[] intArray) { if (intArray.length < 2) { return 0; } else { int max_number = intArray[0]; int min_number = intArray[0]; for (int i = 0; i < intArray.length; i++) { if (intArray[i] > max_number) { max_number = intArray[i]; } else if (intArray[i] < min_number) { min_number = intArray[i]; } } return max_number - min_number; } } }
아래처럼
int max_number = intArray[0];
int min_number = intArray[0];를 < 2 에다가 주면은 ArrayIndexOutOfBoundsException 에러가 난다. 왜냐하면 빈배열도 있기 때문에!
public class GreatestDifference { int greatestDifference(int[] intArray){ int max_number = intArray[0]; int min_number = intArray[0]; if (intArray.length < 2){ return 0; }
별찍기
- 자바는 문자열 * 숫자가 안되기 때문에 이중 뽀문을 써야한당
// Triangle.java public class Triangle { public void printTriangle(int height){ for(int i=1; i<=height; i++){ for(int j=1; j<=i; j++){ System.out.print("* "); } System.out.println(); } } } // TriangleMain.java public class TriangleMain { public static void main(String[] args) { Triangle printer = new Triangle(); printer.printTriangle(3); System.out.println("----------"); printer.printTriangle(5); System.out.println("----------"); } } //결과 * * * * * * ---------- * * * * * * * * * * * * * * * ----------
피라미드 만들기
// step-by-step // 별의개수는 height=3일때 1,3,5 & height=5일때 1,3,5,7 & height=10일때 1,3,5,7,9 => 등차수열 공식이용=> 2n-1 // Pyramid.java public class Pyramid { public void printPyramid(int height){ for(int i=1; i<=height; i++){ System.out.println(2*i-1); } } } // Main.java public class PyramidMain { public static void main(String[] args){ Pyramid printer = new Pyramid(); // 테스트 printer.printPyramid(3); System.out.println("----------"); printer.printPyramid(5); System.out.println("----------"); printer.printPyramid(10); } } // 결과값 1 3 5 ---------- 1 3 5 7 9 ----------
// for문을 이욯애 2*i-1까지 limit을 두고 출력하게 해야 함 public class Pyramid { public void printPyramid(int height){ // 별의 갯수는 1 + (n-1)2 => 2n - 1 for(int i=1; i<=height; i++){ for(int j=1; j<=2*i-1; j++){ System.out.print(j); } System.out.println(); } } } // 결과값 1 123 12345 ---------- 1 123 12345 1234567 123456789 ---------- ======================================================================= // 공백넣기 public class Pyramid { public void printPyramid(int height){ for(int i=1; i<=height; i++){ for(int j=1; j<=height-i; j++){ System.out.print(" "); } for(int j=1; j<=2*i-1; j++){ System.out.print("*"); } System.out.println(); } } }
코드잇 소개 프로그램
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("메뉴를 선택e해주세요!(I)ntro (C)ourses (E)xit"); boolean MainMenu = true; while (MainMenu){ String choice = scanner.next(); switch(choice){ case "I": case "i": System.out.println("안녕하세요! 오늘하루도 화이팅 \n" +"메인메뉴로 돌아갑니다"); break; case "C": case "c": boolean CourseMenu = true; while(CourseMenu){ System.out.println("수업을 소개합니다.\n" + "(P)ython (J)ava (i)OS (B)ack"); switch(scanner.next()){ case "B": case "b": CourseMenu = false; break; case "P": case "p": System.out.println("파이썬수업. \n" +"재미있는파이써닝!"); break; case "J": case "j": System.out.println("자바수업 \n" +"재미있는자바!"); break; case "I": case "i": System.out.println("아이폰짱..! \n" + "아이폰은이뻐!"); default: System.out.println("다시입력해주세요"); break; } break; } case "E": case "e": System.out.println("프로그램을종료합니다"); MainMenu = false; break; default: System.out.println("다시입력해주세요"); break; } } } }
'Java > OOP' 카테고리의 다른 글
기본형(Primitive Type) & 참조형(Referecne Type) & null (0) 2022.10.20 접근제어자 (0) 2022.10.20 this (0) 2022.10.01 생성자(Constructor) (0) 2022.10.01 메소드 오버로딩(method overloading) (0) 2022.09.24