import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
import jdk.javadoc.internal.doclets.toolkit.taglets.ThrowsTaglet;
class ListIntMax{
private ArrayList<Integer> arrList;
private int max;
public ListIntMax(){
arrList = new ArrayList<>();
}
public int getMax() {
max = 0;
for (Integer i : arrList) {
if(i > max)
max = i;
}
return max;
}
public void setMax(int max) {
this.max = max;
}
public ArrayList<Integer> getArrList() {
try {
Scanner sc = new Scanner(System.in);
System.out.print("정수(-1이 입력될 때까지)>>");
while(true) {
int n = sc.nextInt();
if(n == -1) // 입력된 수가 -1이면
break; //빠져나감
arrList.add(n);
}
}catch (Exception e) {
System.out.println("잘못된 입력입니다");
getArrList();
}
return arrList;
}
public void setArrList(ArrayList<Integer> arrList) {
this.arrList = arrList;
}
}
public class ListMaxTest{
public static void main(String[] args) {
try {
ArrayList<Character> stack = new ArrayList<Character>();
Scanner sc = new Scanner(System.in);
System.out.print("6개의 학점을 빈 칸으로 분리 입력(A/B/C/D/F) >> ");
for(int i=0; i<6; i++) {
char c = sc.next().charAt(0);
switch(c) {
case 'A','a','B','b','C','c','D','d','F','f':
break;
default:
throw new InputMismatchException();
}
stack.add(c);
}
int sum=0;
for(int i=0; i<stack.size(); i++) {
char c = stack.get(i);
switch(c) {
case 'A','a':
sum+=4;
break;
case 'B','b':
sum+=3;
break;
case 'C','c':
sum+=2;
break;
case 'D','d':
sum+=1;
break;
case 'F','f':
sum+=0;
break;
default:
throw new InputMismatchException();
}
}
double avr = (double)sum/stack.size();
System.out.println(avr);
}catch (Exception e) {
System.out.println("잘못된입니다. 처음부터 다시 입력해 주세요");
main(args);
}
}
}
'프로그램 문제' 카테고리의 다른 글
java 쓰레드 - 동기화 문제(Accout) 예제 (0) | 2021.11.10 |
---|---|
학생 이름, 학과, 학번, 학점평균 입력하세요. >> (0) | 2021.11.09 |
Scanner 클래스로 -1이 입력될 때까지 양의 정수를 입력받아 List에 저장하고List를 검색하여 가장 큰 수를 출력하는 프로그램 (0) | 2021.11.08 |
프로그래밍 언어 점유율 사이트 - 프로그래머가 가장 힘들어 하는 일 (0) | 2021.11.05 |
원객체 ArrayList 에 입력후 - 출력 (0) | 2021.11.05 |