본문 바로가기

JavaCode(review)

GroceryList - String으로 console 입력시 코드

반응형

GroceryList 변경 - modify, remove,find, onfile method 추가 및 변경 ( parameter-String) / getter도 추가

import java.util.ArrayList;
import java.util.StringJoiner;

public class GroceryList {              //array list는 a class개념이다.>role : resize array

   //cf) private int[] myNumbers;            //array define
    private ArrayList<String> groceryList = new ArrayList<String>(); //ArrayList "groceryList"define


    public void addGroceryItem(String item){            //method add
        groceryList.add(item);
    }
    //getter

    public ArrayList<String> getGroceryList() {     //arraylist getter 생성
        return groceryList;
    }

    public void printGroceryList(){                     //method print
        System.out.println("You have"+groceryList.size()+"item in your grocery list");  //size특정짓지 않는다.
        for(int i=0; i<groceryList.size(); i++){                        //index = 0부터
            System.out.println((i+1)+"."+groceryList.get(i));           //size1 = index 0(i=index)
        }
    }
                                                        // method set (modify)
    //another method(modify)  - parameter이 string입력인경우
    public void modifyGroceryItem(String currentItem,String newItem){
        int index = findItem(currentItem);
        if(index >= 0 ){
            modifyGroceryItem(index, newItem);
        }
    }

    public void modifyGroceryItem(int index, String newItem){
        groceryList.set(index,newItem);
        System.out.println("Grocery item"+ (index+1) +"has been modified");  //size 2번 수정
    }

    //another remove(입력 string일때)
    public void removeGroceryItem(String item){             //string -> int index로 전환
        int index = findItem(item);
        if(index>=0){
            removeGroceryItem(index);
        }
    }
    public void removeGroceryItem(int index){           //method remove
        groceryList.remove(index);
    }



    public int findItem(String searchItem){         //method find(String입력경우)
        return groceryList.indexOf(searchItem);             // - indexOf 이용
    }

    public boolean onFile(String searchItem){
        int index = findItem(searchItem);
        if(index >=0){
            return true;
        }
        return false;
    }

}

 

Print out code   / case6 추가/ modify,remove,find method 수정(String)/ getter 연관 method추가

import org.w3c.dom.ls.LSOutput;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    private static Scanner scanner = new Scanner(System.in);    //console 인식
    private static GroceryList groceryList = new GroceryList();     //object define

    public static void main(String[] args) {                //print out method
        boolean quit = false;                   // boolean default = false
        int choice =  0;
        printInstructions();        //사용설명서 출력
        while(!quit){                               // !quit 이란 quit ==false 경우란 뜻
            System.out.println("Enter your code");
            choice = scanner.nextInt();             //console 입력
            scanner.nextLine();

            switch (choice) {
                case 0:
                    printInstructions();
                    break;
                case 1:
                    groceryList.printGroceryList();
                    break;
                case 2:
                    addItem();
                    break;
                case 3:
                    modifyItem();
                    break;
                case 4:
                    removeItem();
                    break;
                case 5:
                    searchForItem();
                    break;
                case 6:
                    processArrayList();
                case 7:
                    quit = true;
                    break;
            }
        }
    }

    public static void printInstructions(){         //시스템 설명서 출력
        System.out.println("\npress");                           //\n or \r:줄바꿈.\t들여쓰기.
        System.out.println("\t 0 - To print choice options.");
        System.out.println("\t 1 - To print the list of grocery items.");
        System.out.println("\t 2 - To add an item to the list.");
        System.out.println("\t 3 - To modify and item in the list");
        System.out.println("\t 4 - To remove an item in the list");
        System.out.println("\t 5 - To search for an item in the list");
        System.out.println("\t 6 - To quit the application");
    }
    public static void addItem(){
        System.out.println("Please enter the grocery item: ");
        groceryList.addGroceryItem(scanner.nextLine());             //String console입력(nextLine)
    }
    public static void modifyItem(){
        System.out.println("current item name: ");
        String itemNo = scanner.nextLine();                 //String console 입력(nextLine)
        System.out.println(" replacement item: ");
        String newItem = scanner.nextLine();                //String console 입력 -nextLine
        groceryList.modifyGroceryItem(itemNo, newItem);
    }
    public static void removeItem(){
        System.out.println("Enter item name: ");
        String itemNo = scanner.nextLine();
        groceryList.removeGroceryItem(itemNo);           //String 입력
    }
    public static void searchForItem(){
        System.out.println("Item to search for: ");
        String searchItem = scanner.nextLine();         //String console 입력(nextLine)
        if(groceryList.onFile(searchItem)){
            System.out.println("Found" + searchItem+"in the grocery list");
        }else{
            System.out.println(searchItem + "is not in the grocery list.");
        }
    }

    //getter불러오는 method
    public static void processArrayList(){
        ArrayList<String> newArray = new ArrayList<String>();       //class object define.
        newArray.addAll(groceryList.getGroceryList());              //initialization

        ArrayList<String> nextArray = new ArrayList<>(groceryList.getGroceryList()); //define 및 initialization 한줄로 하는법

        String[] myArray = new String[groceryList.getGroceryList().size()]; //array define  -.size()이용
        myArray = groceryList.getGroceryList().toArray(myArray);        //arraylist를 array로 변환 - .toArray()이용
    }

}

 

Output

 

D:\IT\JDK\jdk11.0.6_10\bin\java.exe "-javaagent:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\lib\idea_rt.jar=49562:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\IT\NewProject\ArrayList\out\production\ArrayList Main

press
	 0 - To print choice options.
	 1 - To print the list of grocery items.
	 2 - To add an item to the list.
	 3 - To modify and item in the list
	 4 - To remove an item in the list
	 5 - To search for an item in the list
	 6 - To quit the application
Enter your code
2
Please enter the grocery item: 
eggs
Enter your code
2
Please enter the grocery item: 
milk
Enter your code
2
Please enter the grocery item: 
brad
Enter your code

1
You have3item in your grocery list
1.eggs
2.milk
3.brad
Enter your code
3
current item name: 
milk
 replacement item: 
cereal
Grocery item2has been modified
Enter your code
1
You have3item in your grocery list
1.eggs
2.cereal
3.brad
Enter your code
5
Item to search for: 
bread
breadis not in the grocery list.
Enter your code