κ°œλ… 정리 μž‘μ—…μ‹€/Java

[Java] ν‚€λ³΄λ“œμ—μ„œ μž…λ ₯된 λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ°”κΎΌ λ’€ κ·Έ κ°’μ˜ 총합과 평균 κ΅¬ν•˜κΈ°

μ£Όλ‹ˆμ“°πŸ§‘‍πŸ’» 2021. 3. 8. 20:53
728x90
λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš”? μ£Όλ‹ˆν•˜λž‘ μž…λ‹ˆλ‹€.

03μ›” 08일 μˆ™μ œλ₯Ό μ˜€λŠ˜μ—μ„œμ•Ό ν’€ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€ γ…  λ„˜λ‚˜ μ–΄λ €μš΄ μžλ°”

μ œκ°€ ν˜Όμžμ„œ 쳐 λ³Έ κΈ°λ…μœΌλ‘œ μ—¬λŸ¬λΆ„λ“€κ³Ό ν•¨κ»˜ λ‚˜λˆ„κ³  μ‹Άμ–΄ μ˜¬λ¦½λ‹ˆλ‹€! κ³΅λΆ€ν•˜μ‹œλŠ”λ°, λ§Žμ€ 도움 λ˜μ‹œκΈ° λ°”λΌκ² μŠ΅λ‹ˆλ‹€!

그럼 λ°”λ‘œ μ‹œμž‘ ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€!

 

πŸ“Œ ꡐ윑 κ³Όμ • 관리 ν”„λ‘œκ·Έλž¨ (객체와 μ»¬λ ‰μ…˜ list λ°°μ—΄ μ‚¬μš©)

   πŸ“ Homework_210308.java (객체와 Method μ‚¬μš©ν•˜μ§€ μ•Šκ³ ..)


package homework;

import java.util.Scanner;

public class Homework_210308 {

	public static void main(String[] args) {
		// ν‚€λ³΄λ“œ μž…λ ₯ κ°’ λ°›κΈ°
		Scanner s = new Scanner(System.in);
        // μž…λ ₯ 받은 λ¬Έμžμ—΄μ„ ν•œ κΈ€μžμ”© 담을 λ°°μ—΄ μ„ μ–Έ
		char[] str = new char[20];
        // λ¬Έμžμ—΄ μ •μˆ˜ λ³€ν™˜ κ°’ λ³€μˆ˜ μ„ μ–Έ
		int numstr = 0;
        // λŒ€λ¬Έμž 개수용 λ³€μˆ˜ μ„ μ–Έ
		int bigCount = 0;
        // μ†Œλ¬Έμž 개수용 λ³€μˆ˜ μ„ μ–Έ
		int smallCount = 0;
        // 숫자 개수용 λ³€μˆ˜ μ„ μ–Έ
		int numberCount = 0;
        // λͺ¨λ“  문자 톡합 개수용 λ³€μˆ˜ μ„ μ–Έ
		int totalCount = 0;

 			// μ‚¬μš©μžμ˜ μž…λ ₯값을 μž…λ ₯ λ°›μ•„ input λ¬Έμžμ—΄ λ³€μˆ˜μ— μ €μž₯
			System.out.println("μž…λ ₯값을 μž…λ ₯ ν•΄ μ£Όμ„Έμš”");
			String input = s.nextLine();
			
            // μž…λ ₯된 λ¬Έμžμ—΄ 길이 만큼 반볡문 μ‹œμž‘
			for (int i = 0; i < input.length(); ++i) {
            // μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λ¬Έμžμ—΄ 쀑 i번째 문자 ν•˜λ‚˜λ₯Ό
            // 문자 자료 λ°°μ—΄ν˜• str iλ²ˆμ§Έμ— μ €μž₯
				str[i] = input.charAt(i);

					// str i번째 λ¬Έμžκ°€ μ†Œλ¬ΈμžμΈμ§€ νŒλ³„
					if ( str[i] >= 'a' && str[i] <= 'z') {
						// ν‚€λ³΄λ“œ μž…λ ₯κ°’ μ •μˆ˜λ‘œ λ³€ν™˜
						numstr += str[i];
                        // μ†Œλ¬Έμž 개수 1μ”© 증가
						++smallCount;
						
                    // μ‚¬μš©μž μž…λ ₯값이 μ†Œλ¬Έμžκ°€ μ•„λ‹ˆκ³ , λŒ€λ¬ΈμžμΈμ§€ νŒλ³„    
					} else if ( str[i] >= 'A' && str[i] <= 'Z') {
                    	// ν‚€λ³΄λ“œ μž…λ ₯κ°’ μ •μˆ˜λ‘œ λ³€ν™˜
						numstr += str[i];
                        // λŒ€λ¬Έμž 개수 1μ”© 증가
						++bigCount; 

					// μ‚¬μš©μž μž…λ ₯값이 μ•ŒνŒŒλ²³μ΄ μ•„λ‹ˆκ³ , μˆ«μžμΈμ§€ νŒλ³„
					} else if (str[i] >= '0' && str[i] <= '9') {
                    	// 숫자(λ¬Έμžμ—΄) μ •μˆ˜λ‘œ λ³€ν™˜
						numstr += str[i];
                        // 숫자 개수 1μ”© 증가
						++numberCount;
					}						
			}
            
		// λ¬Έμžμ—΄ μ •μˆ˜λ‘œ λ³€ν™˜ν•œ 총합 κ΅¬ν•˜κΈ°
		int total = numstr;
        
        // λ¬Έμžμ—΄ 개수 총합 κ΅¬ν•˜κΈ°
		totalCount = smallCount + bigCount + numberCount;
        
		System.out.println("μ†Œλ¬Έμžκ°€ " + smallCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
		System.out.println("λŒ€λ¬Έμžκ°€ " + bigCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
		System.out.println("μˆ«μžκ°€ " + numberCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
		System.out.println("μž…λ ₯된 λ¬Έμžμ—΄μ˜ μ •μˆ˜ 총합은 " + total + " μž…λ‹ˆλ‹€.");
		// 평균 κ΅¬ν•˜κΈ°
		System.out.println("평균은 " + total / totalCount + "μž…λ‹ˆλ‹€." );
	}
}

 

 

   πŸ“ Homework_Method_210308.java (Method만 μ‚¬μš©)


package homework;

import java.util.Scanner;

public class Homework_Method_210308 {
	static char[] str;		// λ¬Έμžμ—΄ ν•œ κΈ€μžμ”© 담을 λ°°μ—΄ μ„ μ–Έ
	static int numstr;		// λ¬Έμžμ—΄ μ •μˆ˜ λ³€ν™˜ λ³€μˆ˜ μ„ μ–Έ
	static int bigCount;	// λŒ€λ¬Έμž 개수 μ €μž₯ λ³€μˆ˜ μ„ μ–Έ
	static int smallCount;	// μ†Œλ¬Έμž 개수 μ €μž₯ λ³€μˆ˜ μ„ μ–Έ
	static int numberCount;	// 숫자 개수 μ €μž₯ λ³€μˆ˜ μ„ μ–Έ
	static int totalCount;	// λ¬Έμžμ—΄ 총 개수 μ €μž₯ λ³€μˆ˜ μ„ μ–Έ

	public static void main(String[] args) {
		// ν‚€λ³΄λ“œ μž…λ ₯ κ°’ λ°›κΈ°
		Scanner s = new Scanner(System.in);
        // κΈ€μž λ°°μ—΄ μ΄ˆκΈ°ν™”(20개)
		str = new char[20];
		numstr = 0;
		number = 0;
		bigCount = 0;
		smallCount = 0;
		numberCount = 0;
		totalCount = 0;

 			// μ‚¬μš©μžμ—κ²Œ λ¬Έμžμ—΄μ„ μž…λ ₯ λ°›κΈ°
			System.out.println("μž…λ ₯값을 μž…λ ₯ ν•΄ μ£Όμ„Έμš”");
			String input = s.nextLine();

			// μž…λ ₯ 받은 λ¬Έμžμ—΄ 길이 만큼 반볡문 λ™μž‘
			for (int i = 0; i < input.length(); ++i) {
            	// μž…λ ₯ 받은 λ¬Έμžμ—΄ 쀑 ν•œ κΈ€μž i번째 것을 뽑아 κΈ€μž λ°°μ—΄ iλ²ˆμ§Έμ— μ €μž₯
				str[i] = input.charAt(i);

					// μ†Œλ¬Έμž νŒλ³„
					if ( str[i] >= 'a' && str[i] <= 'z') {
						// loopForSmall λ©”μ„œλ“œμ— i번째 κΈ€μžλ₯Ό μž…λ ₯κ°’μœΌλ‘œ 전달
                        loopForSmall(str[i]);
                        
                    // λŒ€λ¬Έμž νŒλ³„
					} else if ( str[i] >= 'A' && str[i] <= 'Z') {
                    // loopForBig λ©”μ„œλ“œμ— i번째 κΈ€μžλ₯Ό μž…λ ₯κ°’μœΌλ‘œ 전달
						loopForBig(str[i]);
                        
                    // 숫자 νŒλ³„
					} else if (str[i] >= '0' && str[i] <= '9') {
                    // loopForNum λ©”μ„œλ“œμ— i번째 κΈ€μžλ₯Ό μž…λ ₯κ°’μœΌλ‘œ 전달
						loopForNum(str[i]);
					}						
				}
                // μ •μˆ˜λ‘œ λ³€ν™˜λœ λ¬Έμžμ—΄ 총합 total에 μ €μž₯
				int total = numstr;
                
                // λ¬Έμžμ—΄ 개수 totalCount에 μ €μž₯
				totalCount = smallCount + bigCount + numberCount;
                
				System.out.println("μ†Œλ¬Έμžκ°€ " + smallCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
				System.out.println("λŒ€λ¬Έμžκ°€ " + bigCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
				System.out.println("μˆ«μžκ°€ " + numberCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
				System.out.println("μž…λ ₯된 λ¬Έμžμ—΄μ˜ μ •μˆ˜ 총합은 " + total + " μž…λ‹ˆλ‹€.");
				System.out.println("평균은 " + total / totalCount + "μž…λ‹ˆλ‹€." );
			} // Main 끝
            
	// λŒ€λ¬Έμžλ‘œ νŒλ³„λœ κΈ€μžλ“€ 처리 λ©”μ„œλ“œ (μž…λ ₯κ°’μœΌλ‘œ ν•œ κΈ€μž(i번째)μ”© λ°›μŒ)
	private static void loopForNum(char input) {
		// μž…λ ₯ 받은 ν•œ κΈ€μž(i번째)λ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜ν•΄μ„œ μ €μž₯
		numstr += input;
        // 숫자 개수 1μ”© 증가
		++numberCount;
		
	}
	// λŒ€λ¬Έμžλ‘œ νŒλ³„λœ κΈ€μžλ“€ 처리 λ©”μ„œλ“œ (μž…λ ₯κ°’μœΌλ‘œ ν•œ κΈ€μž(i번째)μ”© λ°›μŒ)
	private static void loopForBig(char input) {
		// μž…λ ₯ 받은 ν•œ κΈ€μž(i번째)λ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜ν•΄μ„œ μ €μž₯ 
		numstr += input;
        // λŒ€λ¬Έμž 개수 1μ”© 증가
		++bigCount; 
		
	}
	// μ†Œλ¬Έμžλ‘œ νŒλ³„λœ κΈ€μžλ“€ 처리 λ©”μ„œλ“œ (μž…λ ₯κ°’μœΌλ‘œ ν•œ κΈ€μž(i번째)μ”© λ°›μŒ)
	private static void loopForSmall(char input) {
		// μž…λ ₯ 받은 ν•œ κΈ€μž(i번째)λ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜ν•΄μ„œ μ €μž₯ 
		numstr += input;
        // μ†Œλ¬Έμž 개수 1μ”© 증가
		++smallCount;
	}
	
} // Class 끝

 

 

   πŸ“ Homework_Object_210308.java (객체와 Method μ‚¬μš©)


package homework;

import java.util.Scanner;

public class Homework_Oject_210308 {

	public static void main(String[] args) {
		// ν‚€λ³΄λ“œ μž…λ ₯ κ°’ λ°›κΈ°
		Scanner s = new Scanner(System.in);
        // μž…λ ₯κ°’ ν•œ κΈ€μžμ”© 받을 λ°°μ—΄ μ„ μ–Έ 및 μ΄ˆκΈ°ν™”λ‘œ 20개 μ„ μ–Έ
		char[] str = new char[20];
        
        // LoopFor μ°Έμ‘° μžλ£Œν˜• loop에 LoopFor 객체 생성
		LoopFor loop = new LoopFor();

 			// μ‚¬μš©μž μž…λ ₯κ°’ λ°›κΈ°
			System.out.println("μž…λ ₯값을 μž…λ ₯ ν•΄ μ£Όμ„Έμš”");
			String input = s.nextLine();

			// μ‚¬μš©μž μž…λ ₯κ°’λ§ŒνΌ 반볡 μ‹œμž‘
			for (int i = 0; i < input.length(); ++i) {
            	// μ‚¬μš©μž μž…λ ₯κ°’ 쀑 ν•œ κΈ€μžμ”© κΈ€μž λ‹΄κΈ° μœ„ν•œ 배열에 i번째λ₯Ό λ‹΄μŒ.
				str[i] = input.charAt(i);

				// κ°μ²΄μ΄λ―€λ‘œ, null κ°’ ν™•μΈν•˜λŠ” μœ νš¨μ„± 검사
				if ( !loop.equals(null)) {
                
                	// μ†Œλ¬Έμž νŒλ³„
					if ( str[i] >= 'a' && str[i] <= 'z') {
						// LoopFor 객체에 loopForSamll λ©”μ„œλ“œμ— i번째 κΈ€μžλ₯Ό 전달
						loop.loopForSmall(str[i]);
                        
					// λŒ€λ¬Έμž νŒλ³„
				} else if ( str[i] >= 'A' && str[i] <= 'Z') {
                // LoopFor 객체에 loopForBig λ©”μ„œλ“œμ— i번째 κΈ€μžλ₯Ό 전달
						loop.loopForBig(str[i]);
					
                    // 숫자 νŒλ³„
					} else if (str[i] >= '0' && str[i] <= '9') {
                    // LoopFor 객체에 loopForNum λ©”μ„œλ“œμ— i번째 κΈ€μžλ₯Ό 전달
						loop.loopForNum(str[i]);
					}						
				}
			}

				// LoopFor 객체에 numstr ν•„λ“œμ— μ €μž₯된 값을 total에 μ €μž₯
                // λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ³€ν™˜ν•œ 총합
				int total = loop.numstr;
                
                // LoopFor 객체에 smallCount, bigCount, numberCount ν•„λ“œμ— μ €μž₯된 κ°’ totalCount에 μ €μž₯
                // λͺ¨λ“  문자 개수 μ„ΈκΈ°
				int totalCount = loop.smallCount + loop.bigCount + loop.numberCount;
                
				System.out.println("μ†Œλ¬Έμžκ°€ " + loop.smallCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
				System.out.println("λŒ€λ¬Έμžκ°€ " + loop.bigCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
				System.out.println("μˆ«μžκ°€ " + loop.numberCount + " 개 μž…λ ₯ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
				System.out.println("μž…λ ₯된 λ¬Έμžμ—΄μ˜ μ •μˆ˜ 총합은 " + total + " μž…λ‹ˆλ‹€.");
				System.out.println("평균은 " + total / totalCount + "μž…λ‹ˆλ‹€." );

	}
}

 

 

   πŸ“ LoopFor.java


package homework;

public class loopFor {
	int numstr;			// 문자λ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜ν•œ κ°’ μ €μž₯ λ³€μˆ˜ μ„ μ–Έ
	int bigCount;		// λŒ€λ¬Έμž μ„ΈκΈ° λ³€μˆ˜ μ„ μ–Έ
	int smallCount;		// μ†Œλ¬Έμž μ„ΈκΈ° λ³€μˆ˜ μ„ μ–Έ
	int numberCount;	// 숫자 μ„ΈκΈ° λ³€μˆ˜ μ„ μ–Έ
	int totalCount;		// 문자 총 개수 λ³€μˆ˜ μ„ μ–Έ

	// μƒμ„±μž ( ν•„λ“œ κ°’ μ΄ˆκΈ°ν™” )
	public loopFor() {
		this.numstr = 0;
		this.number = 0;
		this.bigCount = 0;
		this.smallCount = 0;
		this.numberCount = 0;
		this.totalCount = 0;
	}
	
    // Main Methodμ—μ„œ μ†Œλ¬Έμž νŒλ³„ if문에 걸릴 경우 κ·Έ 단어가 μž…λ ₯κ°’μœΌλ‘œ λ“€μ–΄μ˜΄.
	public void loopForSmall(char input) {
    	// numstr ν•„λ“œμ— κΈ€μžλ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜ν•˜μ—¬ μ €μž₯
		this.numstr += input;
        // μ†Œλ¬Έμž 개수 1μ”© 증가
		++smallCount;
	}
	
    // Main Methodμ—μ„œ λŒ€λ¬Έμž νŒλ³„ if문에 걸릴 경우 κ·Έ 단어가 μž…λ ₯κ°’μœΌλ‘œ λ“€μ–΄μ˜΄.
	public void loopForBig(char input) {
    // numstr ν•„λ“œμ— κΈ€μžλ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜ν•˜μ—¬ μ €μž₯
		this.numstr += input;
        // μ†Œλ¬Έμž 개수 1μ”© 증가
		++bigCount; 
	}
	
    // Main Methodμ—μ„œ 숫자 νŒλ³„ if문에 걸릴 경우 κ·Έ 단어가 μž…λ ₯κ°’μœΌλ‘œ λ“€μ–΄μ˜΄.
	public void loopForNum(char input) {
		this.numstr += input;
        // μ†Œλ¬Έμž 개수 1μ”© 증가
		++numberCount;
	}
	
}

 

 


μ£Όλ‹ˆν•˜λž‘μ˜ 글이 λ§ˆμŒμ— λ“œμ…¨λ‚˜μš”? ꡬ독과 곡감! 그리고, λŒ“κΈ€μ€ μ£Όλ‹ˆν•˜λž‘μ—κ²Œ λ§Žμ€ 힘이 λ©λ‹ˆλ‹€!

728x90
λ°˜μ‘ν˜•