ArrayList이용한 작은 프로젝트
import java.util.ArrayList;
import java.util.Scanner;
public class play {
public static void main(String[] args) {
ArrayList<customerInfo> m = new ArrayList<>();
customerInfo c =null;
/*
customerInfo b = null
for(int idx=0;idx<m.size();idx++){ -> m.size()를 사용하게 되면 런타임이나 아웃오브바운드가 생길 수 있다. 대안 while+break
b= new customerInfo();
}
*/
while(true){
try{
System.out.println("If you want exit input 'exit' in name space");
Scanner scn = new Scanner(System.in);
System.out.println("input name");
String name = scn.nextLine();
if(name.equals("exit")) throw new Exception();
System.out.println("input account");
String account = scn.nextLine();
System.out.println("input cash");
int cash = scn.nextInt();
c = new customerInfo(name, account, cash);
m.add(c);
}catch (Exception e){
System.out.println("stop add info");
break;
}
}
System.out.println("input search name or account");
Scanner input = new Scanner(System.in);
String info = input.nextLine();
for(int idx=0; idx < m.size(); idx++){
if(m.get(idx).contains(info)){
System.out.println("success");
System.out.println("name : " +m.get(idx).name+" account : "+m.get(idx).account+" cash : "+m.get(idx).cash);
break;
}else System.out.println("fail"); break;
}
System.out.println("input search cash");
Scanner search = new Scanner(System.in);
System.out.println("Input minimal range");
int inpUpper = search.nextInt();
System.out.println("Input max range");
int inpUnder = search.nextInt();
for(int idx=0; idx<m.size();idx++){
if(m.get(idx).range(inpUpper,inpUnder)) System.out.println(m.get(idx).name);
else System.out.println("not info in range");
}
}
}
import javax.naming.event.ObjectChangeListener;
import java.util.Scanner;
public class customerInfo {
String name, account;
int cash;
public customerInfo(String name, String account, int cash) {
this.name = name;
this.account = account;
this.cash = cash;
}
public void putCash(){
int Icash;
Scanner putcash = new Scanner(System.in);
Icash = putcash.nextInt();
if(Icash<0){
System.out.println("Input upper 0");
}else {
this.cash += Icash;
System.out.println(this.cash);
}
}
public void outCash(){
int Ocash;
Scanner outcash = new Scanner(System.in);
Ocash = outcash.nextInt();
if(Ocash>this.cash){
System.out.println("Input under cash");
}else {
this.cash -= Ocash;
System.out.println(this.cash);
}
}
public int cash(){
return this.cash;
}
public void putCustomerinfo(){
System.out.print("name : "+this.name);
System.out.print(" account : "+this.account);
System.out.println(" cash : "+this.cash);
}
public boolean contains(String o){
if(o.equals(name)||o.equals(account)){
return true;
}else return false;
}
public boolean range(int upper,int under){
if(upper < cash && cash<under){
System.out.println("Success");
return true;
}else return false;
}
}
메뉴 창 설정 추가
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
public class play {
public static void main(String[] args) {
ArrayList<customerInfo> m = new ArrayList<>();
customerInfo c =null;
int menu=0;
String[] cls = new String[] {"cmd.exe", "/c", "cls"};
//메뉴 구성
System.out.println("menu");
System.out.println("===================================================");
System.out.println("1. info input ");
System.out.println("2. out cash ");
System.out.println("3. put cash ");
System.out.println("4. search");
System.out.println("5.view all info");
System.out.println("6. clear");
System.out.println("===================================================");
Scanner inputMenu = new Scanner(System.in);
menu = inputMenu.nextInt();
switch (menu) {
case 1 :
while(true){
try{
System.out.println("If you want exit input 'exit' in name space");
Scanner scn = new Scanner(System.in);
System.out.println("input name");
String name = scn.nextLine();
if(name.equals("exit")) throw new Exception();
System.out.println("input account");
String account = scn.nextLine();
System.out.println("input cash");
int cash = scn.nextInt();
c = new customerInfo(name, account, cash);
m.add(c);
}catch (Exception e){
System.out.println("stop add info");
break;
}
}
case 2 :
m.get(0).outCash();
break;
case 3 :
m.get(0).putCash();
break;
case 4:
System.out.println("input search name or account");
Scanner input = new Scanner(System.in);
String info = input.nextLine();
for(int idx=0; idx < m.size(); idx++){
if(m.get(idx).contains(info)){
System.out.println("success");
System.out.println("name : " +m.get(idx).name+" account : "+m.get(idx).account+" cash : "+m.get(idx).cash);
break;
}else System.out.println("fail");
break;
}
case 5:
for(int idx = 0; idx< m.size(); idx++){
System.out.println(m.get(idx));
}
break;
case 6:
try {
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
break;
}catch (IOException | InterruptedException e){
e.printStackTrace();
}
default: break;
}
}
}'Program > JAVA' 카테고리의 다른 글
| JDBC, 쿼리문(Query) (0) | 2022.12.25 |
|---|---|
| Hash Map, 파일 관리 (0) | 2022.12.25 |
| 플러시(Flush) (0) | 2022.12.25 |
| Score Project, Memberinfo_Project, ArrayList, 은행 입출금 프로젝트 (0) | 2022.08.28 |
| JDK,JRE,JAVAC, 출력문, 형변환, IF, FOR (0) | 2022.08.27 |