과제 1
업앤다운 게임입니다.
1부터 100사이의 임의 숫자를 생성해둡니다.
사용자로부터 숫자를 입력받습니다.
입력숫자가 임의숫자보다 크면 아래란 문자열 출력
작으면 위 라는 문자열 출력
그래서 몇번만에 맞췄는지를 출력해줍니다.
0아래이거나 100보다 크면 다시 입력하게 합니다.
옵션 : 그동안 입력한 숫자를 저장하여 출력합니다^^
package myjdbc;
import java.util.ArrayList;
import java.util.Scanner;
public class Ex01 {
public static void main(String[] args) {
ArrayList array1 = new ArrayList();
// 업앤다운 게임
// 1부터 100까지 임의 숫자 생성
int random = (int)(Math.random() * 100) + 1; // 0에서 1 double
System.out.println("1~100 사이 임의 숫자를 맞춰보세요.");
// 사용자로부터 숫자 입력
Scanner scan = new Scanner(System.in);
int input = scan.nextInt();
// System.out.printf("입력하신 숫자는 : %d\n", input);
// 입력숫자가 임의숫자보다 크면 아래 라는 문자열 출력 -> if
// 입력숫자가 임의숫자보다 작으면 위 라는 문자열 출력 -> if
// 0 아래, 100 보다 크면 다시 입력하게 하기
while ( input > 100 || input <= 0 ) {
System.out.println("다시 입력하세요. -> 1과 100 사이 숫자만 입력하세요.");
input = scan.nextInt();
} System.out.println("게임을 시작합니다.");
array1.add(input);
// 숫자 맞추는 과정
while ( input != random ) {
if ( input < random ) {
System.out.println("위");
input = scan.nextInt();
array1.add(input);
} else if ( input > random ) {
System.out.println("아래");
input = scan.nextInt();
array1.add(input);
}
} System.out.println("정답입니다.");
System.out.println("총 " + array1.size() + "번 만에 맞추셨습니다. \n -> 지금까지 입력한 숫자 ");
// 횟수 + 그동안 입력한 숫자 저장하여 출력
for (int i = 0; i < array1.size(); i++) {
System.out.println(array1.get(i));
}
}
}
과제 2
1부터 999까지의 100개의 임의의 수로 이루어진 배열을 생성하는 함수를
* 호출하여 배열을 생성한다.
- 2.인덱스가 홀수인 수들을 출력하는 함수
- 3.배열의 수들의 합을 반환하는 함수
- 4.가장 작은 수의 위치(인덱스)를 반환하는 함수
- 5.3의 배수만을 새로운 배열에 복사하여 리턴하는 함수
- option : 배열의 수들을 한 줄에 10개씩 출력하는 함수, 이때 각 수들은 줄이 맞춰져야 함
5번은 List Collection API를 사용하는 것이 더 적절한다.
package myjdbc;
import java.util.ArrayList;
public class Ex02 {
public static void main(String[] args) {
int[] list = makeArray();
oddNumber(list);
int total = add(list);
System.out.println("\n배열의 합 : " + total);
int number = smallNumber(list);
System.out.println("가장 작은 수의 위치 : " + number);
newArray(list);
System.out.println("3의 배수 배열 : " + newArray(list));
printArrayByTen(list);
}
// 함수 _ 1부터 1000까지 100개의 임의의 수로 이루어진 배열
private static int[] makeArray() {
int[] result = new int[100];
for(int i=0; i<100; i++) {
result[i] = (int)(Math.random()*1000) + 1;
}
return result;
}
// 함수 _ 인덱스가 홀수인 수들을 출력
private static void oddNumber(int[] list) {
System.out.print("인덱스가 홀수인 수 : ");
for(int i=0; i<list.length; i++) {
if(i%2==1) {
System.out.print(list[i] + " ");
}
}
}
// 함수 _ 배열의 수들의 합을 반환
private static int add(int[] list) {
int sum = 0;
for(int i=0; i<list.length; i++) {
sum += list[i];
}
return sum;
}
// 함수 _ 가장 작은 수의 위치(인덱스)를 반환
private static int smallNumber(int[] list) {
int small = 0;
for(int i=0; i<list.length; i++) {
if(list[i] < list[small]) {
small = i;
}
}
return small;
}
// 함수 _ 3의 배수만을 새로운 배열에 복사하여 리턴 (List Collection API를 사용)
private static ArrayList<Integer> newArray(int[] list) {
ArrayList<Integer> result = new ArrayList<>();
for(int i=0; i<list.length; i++) {
if(list[i]%3 == 0) {
result.add(i);
}
}
return result;
}
// 함수 _ 배열의 수들을 한 줄에 10개씩 출력 (이때 각 수들은 줄이 맞춰져야 함)
private static void printArrayByTen(int[] list) {
for(int i=0; i<list.length; i++) {
System.out.print(list[i] + " ");
if((i+1)%10==0) {
System.out.println();
}
}
}
}
과제 3
package myjdbc;
public class CarTest {
public static void main(String[] args) {
new Car();
// car 객체 생성
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
Car car4 = new Car();
// 이름
car1.setName("LightningMcqueen");
car2.setName("Mater");
car3.setName("DocHudson");
car4.setName("SallyCarrera");
// 스피드
car1.setSpeed(300);
car2.setSpeed(80);
car3.setSpeed(300);
car4.setSpeed(200);
// 출력
System.out.println(car1.name + "의 스피드 : " + car1.getSpeed());
System.out.println(car2.name + "의 스피드 : " + car2.getSpeed());
System.out.println(car3.name + "의 스피드 : " + car3.getSpeed());
System.out.println(car4.name + "의 스피드 : " + car4.getSpeed());
}
}
class Car{
Car[] list = new Car[4];
Car() {
}
String name;
int speed;
public void setName(String name) {
this.name = name;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getSpeed() {
return speed;
}
}
과제 4
package myjdbc;
import java.util.ArrayList;
public class PersonTest {
public static void main(String[] args) {
new Person();
Person person1 = new Person(20, "홍길동1");
Person person2 = new Person(21, "홍길동2");
Person person3 = new Person(23, "홍길동3");
person1.selfIntroduce();
System.out.println("전체 인구수 : " + Person.numberOfPersons);
}
}
class Person {
int age;
String name;
static int numberOfPersons = 0;
Person() {
this.name = "Anonymous";
this.age = 12;
numberOfPersons ++;
}
Person(int age, String name) {
this.age = age;
this.name = name;
numberOfPersons ++;
}
void selfIntroduce() {
System.out.println("내 이름은 " + name + "이며, 나이는 " + age + "살 입니다.");
}
static int getPopulation() {
return numberOfPersons;
}
}
'공간정보아카데미 > java' 카테고리의 다른 글
java _ heeman _ 1,2,3 (0) | 2025.07.15 |
---|---|
java _ heeman _ 1 (1) | 2025.07.15 |
자바에서 배열을 그냥 출력하면? (0) | 2025.07.14 |
상속, 호출, 생성자 (0) | 2025.07.12 |
get, set (1) | 2025.07.12 |