JAVA 프로그래밍

문제

사용자가 입력한 단어에서 어근과 접미사를 구분하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 
-ly, -ment, -ance로 끝나는 단어를 입력하세요: lovely movement
lovely = love-ly
movement = move-ment 

-ly, -ment, -ance로 끝나는 단어를 입력하세요: alignment variance kind proudly
alignment = align-ment
variance = vari-ance
kind = kind
proudly = proud-ly 

-ly, -ment, -ance로 끝나는 단어를 입력하세요: kindly safely softly wisely
kindly = kind-ly
safely = safe-ly
softly = soft-ly
wisely = wise-ly 

알고리즘

프로그램 시작 
   단어 입력
   단어 분석
      어근
      접미사
프로그램 종료

프로그램 코드

	// 파일명 : ./Chapter10/Suffix.java
	import java.util.Scanner;
		 
	public class Suffix
	{
		// 프로그램 시작 
1		public static void main( String[] args ) {
			Scanner scan = new Scanner( System.in );
	 
			// 단어 입력 
			System.out.print( "-ly, -ment, -ance로 끝나는 단어를 입력하세요: " );
2			String input = scan.nextLine();
	 
			// 단어 분석 
			String[]  suffixes = { "ly", "ment", "ance" };
3			String[]  words = input.split( " " );
4			for( String word : words ) {
				System.out.print( word + " = " );
	 
				// 어근 
				String root = word;
5				for( String suffix : suffixes )
6					root = root.replace( suffix, "" );
				System.out.print( root );
				 
				// 접미사 
7				for( String suffix : suffixes ) {
8					if ( word.contains( suffix ) ) {
9						int index = word.indexOf( suffix );
10						System.out.println( "-" + word.substring( index ) );
11						break;
					}
				}
			}
	 
			scan.close();
		// 프로그램 종료 	
12		}
	}

실행 순서

 
 					※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다