반응형
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
'JavaCode(review)' 카테고리의 다른 글
Bank Application - Autoboxing & Unboxing Challenge (0) | 2020.06.03 |
---|---|
mobilePhone contact code. (0) | 2020.05.30 |
ArrayList 기본 - GroceryList -console입력추가/제거/검색 (0) | 2020.05.27 |
ReverseArrayChallenge / (0) | 2020.05.20 |
ArrayChallenge / console값 입력 후 최소값 구하기. (0) | 2020.05.20 |