728x90
예제 1) 요구사항 : 아래와 같이 출력하시오.
- 조건
- 마지막 숫자가 100이 넘기 전까지 출력하시오.
- 소스코드
package com.test.question;
public class Q0059 {
public static void main(String[] args) {
int num = 1;
int sum = 1;
String result = "";
for(int i=1; ; i++) {
result += num + " + ";
num += i;
if (num>=100) {
break;
}else {sum += num;
}
}
System.out.println(result+" = "+sum);
}
}
- 실행결과
예제 2) 요구사항 : 아래와 같이 출력하시오.
- 조건
- 마지막 숫자가 100이 넘기 전까지 출력하시오
- 소스코드
package com.test.question;
public class Q0060 {
public static void main(String[] args) {
int num1 = 0;
int num2 = 1;
int oper = 0;
int sum = 1;
String result = "";
while(true) {
oper = num1+num2;
if(oper>100) {
break;
}
sum += oper;
result += oper + " + ";
num1 = num2;
num2 = oper;
}
System.out.println("1 + " + result+" = "+sum);
}
}
- 실행결과
예제 3) 요구사항 : 숫자를 5개 입력받아 배열에 담은 뒤 역순으로 출력하시오.
- 조건
- int[] nums = new int[5];
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0061 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] nums = new int[5];
for(int i=0; i<nums.length; i++) {
System.out.print("숫자 : ");
nums[i] = scan.nextInt();
}
for(int i=nums.length-1; i>=0; i--) {
System.out.printf("nums[%d] = %d\n", i, nums[i]);
}
}
}
- 실행결과
예제 4) 요구사항 : 학생의 이름을 N개 입력받아 아래와 같이 출력하시오.
- 조건
- 이름을 오름차순 정렬하시오.
- 소스코드
package com.test.question;
import java.util.Arrays;
import java.util.Scanner;
import java.util.concurrent.ForkJoinTask;
public class Q0062 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("학생 수 : ");
int input = scan.nextInt();
String [] student = new String[input];
for(int i=0; i<student.length; i++) {
System.out.print("학생명 : ");
student[i] = scan.next();
}
System.out.printf("입력한 학생은 총 %d명입니다.\n", input);
Arrays.sort(student);
for(int i=0; i<student.length; i++) {
System.out.printf("%d. %s\n", i+1, student[i]);
}
}
}
- 실행결과
예제 5) 요구사항 : int 배열을 매개변수로 받아 내용을 문자열로 반환하는 dump 메소드를 구현하시오.
- 조건
- String dump(int[] list)
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0063 {
public static void main(String[] args) {
int[] list = new int[4];
Scanner scan = new Scanner(System.in);
for(int i=0; i<list.length; i++) {
System.out.printf("list[%d] : ",i);
list[i] = scan.nextInt();
}
String result = dump(list);
System.out.printf("nums = %s\n", result);
}//main
public static String dump(int[] list) {
String temp = "[ ";
for(int i=0; i<list.length; i++) {
temp += list[i];
if(i<list.length-1) {
temp += ", ";
}
}temp += " ]";
return temp;
}
}
- 실행결과
예제 6) 요구사항 : 1~20 사이의 난수를 담고 있는 배열을 생성하고 최댓값과 최솟값을 출력하시오.
- 조건
- 난수를 20개 발생 후 배열에 넣는다.
- 난수는 1~20 사이
- 소스코드
package com.test.question;
public class Q0064 {
public static void main(String[] args) {
int[] random = new int[20];
int max = 0;
int min = 0;
String result = "원본 : ";
for(int i=0; i<random.length; i++) {
double a = Math.random()*20;
random[i] = (int)a;
result += random[i] + ", ";
}
for(int i=0; i<random.length; i++) {
if (random[i] > max) {
max = random[i];
}
if(random[i] < min) {
min = random[i];
}
}
System.out.println(result);
System.out.printf("최대값 : %d\n", max);
System.out.printf("최솟값 : %d\n", min);
}
}
- 실행결과
예제 7) 요구사항 : 난수를 담고 있는 배열을 생성한 뒤 아래와 같이 출력하시오.
- 조건
- 난수를 20개 발생 후 배열에 넣는다.
- 난수는 1~20 사이
- 배열을 탐색하여 범위에 만족하는 숫자만 출력한다.
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0065 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] random = new int[20];
int max = 0;
int min = 0;
String result = "원본 : ";
String result2 = "결과 : ";
for(int i=0; i<random.length; i++) {
double a = Math.random()*20;
random[i] = (int)a;
result += random[i] + ", ";
}
System.out.print("최대 범위 : ");
max = scan.nextInt();
System.out.print("최소 범위 : ");
min = scan.nextInt();
for(int i=0; i<random.length; i++) {
if(min<=random[i] && random[i]<=max) {
result2 += random[i] + ", ";
}
}
System.out.println(result);
System.out.println(result2);
}
}
- 실행결과
예제 8) 요구사항 : 중복되지 않는 임의의 숫자 6개를 만드시오. (로또)
- 조건
- 숫자의 범위 : 1 ~ 45
- 오름차순 정렬
- 소스코드
package com.test.question;
import java.util.Random;
public class Q0066 {
public static void main(String[] args) {
int [] rotto = new int [6];
Random rd = new Random();
String result = "";
for(int i=0; i<rotto.length; i++) {
rotto[i] = rd.nextInt(45)+1;
for(int j=0; j<i; j++) {
if(rotto[j]==rotto[i]) {
i--;
break;
}
}
}
result = "[";
for(int k=0; k<rotto.length; k++) {
result += rotto[k] +",";
}
result += "]";
System.out.println(result);
}
}
- 실행결과
예제 9) 요구사항 : 배열에 요소를 삽입하시오.
- 조건
- 배열 길이 : 10
- 마지막 요소는 우측으로 옮겨질 공간이 없으면 삭제된다.
- 소스코드
package com.test.question;
import java.util.Arrays;
import java.util.Scanner;
public class Q0067 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int [] nums = {5, 6, 1, 3, 2, 8, 7, 4, 10, 9};
System.out.print("삽입 위치 : ");
int index = scan.nextInt();
System.out.print("값 : ");
int value = scan.nextInt();
System.out.printf("원본 : %s\n",Arrays.toString(nums));
//1, 2, 3
//for(int i=index; i<list.length-1; i++) {
for(int i=nums.length-index; i>=index; i--) {
nums[i+1] = nums[i];
}
nums[index] = value;
System.out.printf("결과 : %s\n",Arrays.toString(nums));
}
}
- 실행결과
예제 10) 요구사항 : 배열의 요소를 삭제하시오.
- 조건
- 배열 길이 : 10
- 마지막 요소는 0으로 채우시오.
- 소스코드
package com.test.question;
import java.util.Arrays;
import java.util.Scanner;
public class Q0068 {
public static void main(String[] args) {
int [] list = {5,6,1,3,2,0,0,0,0,0};
Scanner scan = new Scanner(System.in);
System.out.print("삭제위치 : ");
int index = scan.nextInt();
System.out.println("원본 : ");
Search(list);
for(int i=index; i<list.length-1; i++) {
list[i] = list[i+1];
}
list[list.length-1] = 0;
System.out.print("결과 : ");
Search(list);
}//main
public static void Search(int[] list) {
String result = "[ ";
for(int i=0; i<list.length; i++) {
result += list[i];
if(i<list.length-1) {
result += ", ";
}
}
result += "]";
System.out.println(result);
}
}
- 실행결과
예제 11) 요구사항 : 배열의 요소를 순차적으로 2개씩 더한 결과를 배열로 생성한 뒤 출력하시오.
- 조건
- 원본 배열 길이 : 사용자 입력
- 원본 배열 요소 : 난수(1~9)
- 결과 배열 길이 : 사용자 입력/2
- 소스코드
package com.test.question;
import java.util.Arrays;
import java.util.Scanner;
public class Q0069 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("배열 길이 : ");
int length = scan.nextInt();
int [] nums = new int [length];
for(int i=0; i<length; i++) {
nums[i] = (int)(Math.random()*10);
}
int [] result = oper(nums);
System.out.printf("원본 : %s\n", Arrays.toString(nums));
System.out.printf("결과 : %s", Arrays.toString(result));
}//main()
public static int [] oper (int [] nums) {
String result = "[ ";
int [] temp = new int [nums.length/2];
for(int i =0; i<nums.length; i+=2) {
temp[i/2] = nums[i+1] + nums[i];
} return temp;
}
}
- 실행결과
예제 12) 요구사항 : 아래와 같이 출력하시오
- 출력
- 소스코드
package com.test.question;
public class Q0070 {
public static void main(String[] args) {
int[][] nums = new int[5][5]; //5행 5열
int n = 1;
for(int i=0; i<5; i++) {
if(i%2 ==0) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n++;
}
}else {
for (int j=nums[0].length-1; j>=0;j--) {
nums[i][j] = n;
n++;
}
}
}
printArray(nums);
}
private static void printArray(int[][] nums) {
for (int i=0; i<nums.length; i++) {
for(int j=0; j<nums.length; j++) {
System.out.printf("%3d",nums[i][j]);
}
System.out.println();
}
}
}
- 실행결과
예제 13) 요구사항 : 아래와 같이 출력하시오.
- 출력
- 소스코드
package com.test.question;
public class Q0071 {
public static void main(String[] args) {
int[][] nums = new int[5][5]; //5행 5열
int n = 25;
for(int i=0; i<5; i++) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n--;
}
}
printArray(nums);
}
private static void printArray(int[][] nums) {
for (int i=0; i<nums.length; i++) {
for(int j=0; j<nums.length; j++) {
System.out.printf("%3d",nums[i][j]);
}
System.out.println();
}
}
}
- 실행결과
예제 14) 요구사항 : 아래와 같이 출력하시오.
- 출력
- 소스코드
package com.test.question;
public class Q0072 {
public static void main(String[] args) {
int[][] nums = new int[5][5]; //5행 5열
int n = 1;
for(int i=0; i<5; i++) {
if(i==0) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n +=5;
}n=2;
}else if(i==1) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n +=5;
}n=3;
}else if(i==2) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n +=5;
}n=4;
}else if(i==3) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n +=5;
}n=5;
}else if(i==4) {
for (int j=0; j<5; j++) {
nums[i][j] = n;
n +=5;
}
}
}
printArray(nums);
}
private static void printArray(int[][] nums) {
for (int i=0; i<nums.length; i++) {
for(int j=0; j<nums.length; j++) {
System.out.printf("%3d",nums[i][j]);
}
System.out.println();
}
}
}
- 실행결과
예제 15) 요구사항 : 아래와 같이 출력하시오.
- 출력
- 소스코드
package com.test.question;
public class Q0073 {
public static void main(String[] args) {
int[][] nums = new int[5][5]; //5행 5열
int n = 1;
for(int i=0; i<5; i++) {
for (int j=0; j<5-i; j++) {
nums[i][j] = n;
n++;
}
}
printArray(nums);
}
private static void printArray(int[][] nums) {
for (int i=0; i<nums.length; i++) {
for(int j=0; j<nums.length; j++) {
System.out.printf("%3d",nums[i][j]);
}
System.out.println();
}
}
}
- 실행결과
예제 16) 요구사항 : 아래와 같이 출력하시오.
- 출력
- 소스코드
package com.test.question;
public class Q0074 {
public static void main(String[] args) {
int[][] nums = new int[5][5]; //5행 5열
int n = 1;
for(int i=0; i<nums.length/2+1; i++) {
for (int j=2-i; j<=2+i; j++) {
nums[i][j] = n;
n++;
}
}
for(int i=nums.length/2+1; i<nums.length; i++) {
for(int j=i-2; j<=6-i; j++) {
nums[i][j] = n;
n++;
}
}
printArray(nums);
}
private static void printArray(int[][] nums) {
for (int i=0; i<nums.length; i++) {
for(int j=0; j<nums.length; j++) {
System.out.printf("%3d",nums[i][j]);
}
System.out.println();
}
}
}
- 실행결과
예제 17) 요구사항 : 아래와 같이 출력하시오.
- 출력
- 소스코드
package com.test.question;
public class Q0075 {
public static void main(String[] args) {
int[][] nums = new int[5][5]; //5행 5열
int n = 1;
int sum = 0;
for(int i=0; i<nums.length-1; i++) {
for(int j=0; j<nums.length-1; j++) {
nums[i][j] =n;
nums[i][4] +=n;
nums[4][j] +=n;
nums[4][4] +=n;
n++;
}
}
printArray(nums);
}
private static void printArray(int[][] nums) {
for (int i=0; i<nums.length; i++) {
for(int j=0; j<nums.length; j++) {
System.out.printf("%3d",nums[i][j]);
}
System.out.println();
}
}
}
- 실행결과
예제 18) 요구사항 : 성적을 입력받아 아래와 같이 출력하시오.
- 출력
- 소스코드
package com.test.question;
import java.util.Arrays;
import java.util.Scanner;
public class Q0076 {
public static void main(String[] args) {
String[][] score = new String[10][3];
Scanner scan = new Scanner(System.in);
System.out.print("국어 점수 :");
int kor = scan.nextInt();
System.out.print("영어 점수 :");
int eng = scan.nextInt();
System.out.print("수학 점수 :");
int math = scan.nextInt();
for(int i=0; i<score.length; i++) {
if(kor >=(i+1)*10) {
score[i][0] = "■";
}else
score[i][0] = "";
if(eng >=(i+1)*10) {
score[i][1] = "■";
}else
score[i][1] = "";
if(math >=(i+1)*10) {
score[i][2] = "■";
}else
score[i][2] = "";
}
for(int i=score.length-1; i>=0; i--) {
for(int j=0; j<score[0].length; j++) {
System.out.printf(" %s", score[i][j] + "\t");
}
System.out.println();
}
System.out.println("---------------------");
System.out.println("국어\t영어\t수학");
}//main()
}
- 실행결과
728x90
'자바' 카테고리의 다른 글
JAVA STEP 23. String 예제 모음 (0) | 2023.02.15 |
---|---|
JAVA STEP 22. String 문자열 (0) | 2023.02.15 |
JAVA STEP 20. Array (0) | 2023.02.13 |
JAVA STEP 19. for문 예제모음 (0) | 2023.02.10 |
JAVA STEP 18. if문 & for문 예제 모음 (0) | 2023.02.09 |