JAVA
문제 1
1~100 사이의 정수를 사용자가 입력합니다.
짝수라면 배열리스트에 추가해주시고,
짝수가 아니라면 x2 하여 배열리스트에 추가해주세요.
배열리스트의 요소개수가 3개가 되면 더이상 입력받지않고,
그동안 저장했던 요소들을 출력해주시고
총합을 출력해주세요!
public static void main(String[] args) {
// 1~100 사이의 정수를 사용자가 입력합니다.
Scanner sc = new Scanner(System.in);
System.out.println("1~100 사이의 정수를 입력받고 배열리스트에 추가는 프로그램입니다");
ArrayList<Integer> arr = new ArrayList<Integer>();
int num;
int sum = 0;
while(true) {
if(arr.size() >= 3) { // 배열리스트의 요소개수가 3개가 되면 더이상 입력받지않고,
break;
}
System.out.println("정수 입력 >>");
num = sc.nextInt();
if(0 < num && num <= 100) {
if(num%2 == 0) { // 짝수라면 배열리스트에 추가해주시고,
arr.add(num);
sum += num;
}
else{ // 짝수가 아니라면 x2 하여 배열리스트에 추가해주세요.
arr.add(num*2);
sum += num*2;
}
}
else {
System.out.println("1~100사이의 정수만 입력");
}
}
System.out.println("저장한 값"+arr+"의 총합 : "+sum); // 그동안 저장했던 요소들을 출력해주시고 총합을 출력해주세요!
}
정답
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
ArrayList<Integer> al=new ArrayList<Integer>();
while(true) {
System.out.print("정수 입력 >> ");
int num=sc.nextInt();
if(num<1 || 100<num) {
System.out.println("1~100 사이의 정수를 입력해주세요!");
continue;
}
al.add(num%2 == 0 ? num : num*2);
if(al.size() >= 3) {
break;
}
}
System.out.println(al);
int sum=0;
for(int v:al) {
sum+=v;
}
System.out.println("총합 : "+sum);
}
문제 2
Point 클래스가 있습니다.
점은 x,y좌표를 속성으로 갖습니다.
x,y 좌표 위치를 반드시 정하여 point 객체를 생성합니다.
101번 점 p1, 102번 점 p2 를 생성하여
map 컬렉션으로 관리해주세요
class Point{
private int x;
private int y;
Point(int x, int y){
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
@Override
public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}
}
public class Task02 {
public static void main(String[] args) {
Point p1 = new Point(0,0); // 101번 점 p1, 102번 점 p2 를 생성하여
Point p2 = new Point(1,1); // 101번 점 p1, 102번 점 p2 를 생성하여
Map<Integer,Point> xy = new HashMap<Integer, Point>();
xy.put(101, p1);
xy.put(102, p2);
System.out.println(xy);
}
}
정답
class Point {
private int x;
private int y;
Point(int x,int y){
this.x=x;
this.y=y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
@Override
public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}
}
public class Test02 {
public static void main(String[] args) {
Map<Integer, Point> map=new HashMap<Integer, Point>();
int PK=101;
map.put(PK++, new Point(10,11));
map.put(PK++, new Point(12,22));
map.put(PK++, new Point(100,200));
System.out.println(map);
}
}
유효성 검사나 조건, 객체생성 같은부분에서
좀 더 효율적이고 실용적인 코드가 많지만
막상 문제를 보면 생각이 안남, 잘안됨
안되면
'javaboiii의 JAVA > JAVA 예제' 카테고리의 다른 글
JAVA - 파일 입출력 예제 (0) | 2024.07.25 |
---|---|
JAVA - MVC패턴 예제 (0) | 2024.07.18 |
JAVA - 인터페이스 예제 (0) | 2024.07.12 |
JAVA - [함수] 학생부 프로그램 함수화 (0) | 2024.07.01 |
JAVA - 함수 예제 (0) | 2024.07.01 |