- 왼쪽정렬 역삼각형 별찍기 (Exam01)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package day03;
public class Exam01 {
public static void main(String[] args) {
for(int i=9;i>0;i-=2) {
for(int j=1;j<=i;j++) {
System.out.print("*");
}System.out.print("("+i+")");
System.out.println();
}
for(char i='I';i>='A';i-=2) {
for(char j='A';j<=i;j++) {
System.out.print(j);
}
System.out.println("("+i+")");
}
for(char i='I';i>='A';i-=2) {
for(char j='A';j<=i;j++) {
System.out.print((char)(j+1)); //char형으로 표시해서 출력해 달라고 하는 캐스팅 (형변환)
}
System.out.println("("+i+")");
}
System.out.println("======");
}
}
|
cs |
- ********...z 그 다음 행 ******...yz 만들기 (Exam01)
1
2
3
4
5
6
7
8
9
10
|
for(char i='z';i>='a';i--) {
for(char j='a';j<='z';j++) {
if(j>=i) {
System.out.print((char)j);
}else {
System.out.print("*");
}
}
System.out.println();
}
|
- 1부터10까지의 합: 55, 11부터20까지의 합: 155 (Exam02)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package day03;
public class Exam02 {
public static void main(String[] args) {
for(int i=1;i<=100;i+=10) {
int sum=0; //sum을 초기화시켜야 다시 11부터 20까지, 21부터 30까지 각각 더할 수 있음.
int j;
for(j=i;j<i+10;j++) {
sum+=j;
}
System.out.println(i+"부터"+(j-1)+"까지의 합: "+sum);
}
System.out.println();
}
}
|
- 1차원 배열 선언 (Exam03)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
package day03;
public class Exam03 {
public static void main(String[] args) {
int[] arr = new int [5]; //배열 arr 선언
arr[0] =100;
arr[1] =200;
arr[2] =300;
arr[3] =400;
arr[4] =500;
System.out.println(arr[3]); //400
int[] test =new int[20]; //배열은 반드시 길이를 할당해줘야함. int형 배열은 0으로 초기화.
System.out.println(test[5]); //0
for(int i=0;i<test.length;i++) { //배열 0에 0, 1에 1 저장.
test[i]=i;
}
System.out.println("test[5]: "+test[5]);
test[5]=3000; //test[5]값을 3000으로 변경
System.out.println("test[5]: "+test[5]);
//int [] arr= new int[5]; // 0 0 0 0 0 이라는 배열이 만들어짐
//1 2 3 4 5 라는 값으로 배열을 만들고 싶다면
int[]arr1= new int[5];
for(int i=0;i<arr1.length;i++) { //"배열명.length"는 배열의 길이를 반환함.
arr1[i]=i+1;
}
for(int i=0;i<arr1.length;i++) {
System.out.println("arr1["+i+"]:"+arr1[i]);
}
int[]arr2 = {1,2,3,4,5,6,7};
for(int i=0;i<arr2.length;i++) {
System.out.println("arr2["+i+"]:"+arr2[i]);
}
String[]str = {"one","two","three"};
for(int i=0;i<str.length;i++) {
System.out.println("str["+i+"]:"+str[i]);
}
String[]str1= new String[3];
str1[0]="one";
str1[1]="tow";
str1[2]="three";
for(int i=0;i<str1.length;i++) {
System.out.println("str1["+i+"]:"+str1[i]);
}
}
}
|
cs |
- 원하는 개수를 입력, 그 개수 만큼 수를 입력, 합계와 입력데이터 출력 (배열 이용) (Exam04)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package day03;
import java.util.Scanner;
public class Exam04 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("입력 갯수>>");
int cnt=sc.nextInt();
System.out.println("데이터 입력>>");
int sum=0;
int[]arr= new int[cnt];
for(int i=0;i<cnt;i++) {
arr[i]=sc.nextInt();
sum+=arr[i];
}
System.out.println("합계: "+sum);
for(int i=0;i<cnt;i++) {
System.out.println("입력 데이터: "+arr[i]);
//for문 안에 안넣으면 오류발생. 배열 arr의 주소 0부터 입력 개수cnt 전까지 차례대로 출력함.
}
}
}
|
cs |
- 배열의 최대값, 최대값의 위치, 배열 데이터들의 합계 구하기 (Exam05)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package day03;
public class Exam05 {
public static void main(String[] args) {
int[] data= {10,5,90,100,250,30,77};
//최대값을 구하기
//최대값의 위치 구하기
int max=data[0]; //0번째 데이터가 제일 크다고 max변수를 선언
int maxPos=0;
int sum=0;
for(int i=0;i<data.length;i++) {
sum+=data[i];
if(max<data[i]) {
max=data[i];
maxPos=i+1; //배열의 주소는 0부터지만 앞에서부터 개수를 센다고 생각했을때 최대값 250은 5번째에 있다.
}
}System.out.println("최대값: " +max);
System.out.println("최대값의 위치: "+maxPos);
System.out.println("배열의 합계: "+sum);
System.out.println("배열의 평균: "+(float)sum/data.length);
}
}
|
cs |
- 찾는 수를 입력, 그 수의 위치 구하기. 없으면 없다고 출력 (Exam05)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Scanner sc=new Scanner(System.in);
System.out.println("찾는 수를 입력하세요>>");
int search=sc.nextInt();
boolean flag=false; //변수를 선언
for(int i=0;i<data.length;i++) {
if(search==data[i]) {
System.out.println("찾는 수 "+search+" :"+(i+1));
flag=true; //변수의 참 여부에 따라 조건을 설정->출력문 하나만 나오도록.
}
}
if(flag==false) {
System.out.println("찾는 수"+search+"없음");
}
|
cs |
- 길이가 10인 배열 선언, 난수 발생시켜서 배열에 할당, 난수가 0일 경우 다시 난수 발생시키기, 배열 출력 (Exam06)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package day03;
public class Exam06 {
public static void main(String[] args) {
//난수 발생. double 형을 돌려줌. 부동 소수점. 0.0에서 1.0사이. 정수가 필요하다면 곱한 뒤에 int형으로 바꿔주기
/*System.out.println((int)(Math.random()*50));
* 크기가 10인 배열을 만들고
* 0에서 50사이 난수를 발생시켜
* 0이 아닌 값을 배열에 넣으세요 -> 난수가 0일때는 다시 난수 발생
* 중복허용
*/
int[] arr=new int[10]; //길이 10인 배열 선언
int n=0;
while(n<arr.length){ //배열크기 10번 반복
int r=(int)(Math.random()*50); //난수발생을 변수 r에 할당
if(r==0) { //난수가 0인지 판단
continue; //난수가 0이라면 다시 올라감. 다시 반복=>while의 continue라는 걸 기억하기
}else { //난수가 0이 아님
arr[n]=r;
n++;
}
}
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+"\t");
}
}
}
|
cs |
- 2차원 배열을 입력하고 출력하는법 (Exam07)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package day03;
public class Exam07 {
public static void main(String[] args) {
int[][] arr=new int[3][4];
arr[0][0]=1;
arr[0][1]=2;
int[][] a= {{1,2,3,4},{11,22,33,44},{111,222,333,444}};
System.out.println(a[1][2]); //33
for(int i=0;i<a.length;i++) { //a.length는 중괄호가 "3개"=행의 길이
for(int j=0;j<a[i].length;j++) { //a[i].length는 {1,2,3,4}의 길이. 2차원 배열 열의 길이.
System.out.print(a[i][j]+"\t"); //2차원 배열 출력
}System.out.println();
}
}
}
|
cs |
- 원하는 금액을 입력, 배열을 이용하여 권종별로 몇 장이 필요한지 출력 (Exam08)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package day03;
import java.util.Scanner;
public class Exam08 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("금액입력>>"); //65589
int unit[]= {50000,10000,1000,500,100,50,10,1};
int money=sc.nextInt();
for(int i=0;i<unit.length;i++) {
if(money/unit[i]>0) { //몫을 먼저 구한뒤에 나머지를 계산해야 하니까 %연산자 보다 /연산자가 더 먼저 나와야 함.
System.out.println(unit[i]+":"+money/unit[i]); //result값을 따로 주지 않고 money/arr[i]로 표현.
money=money%unit[i];
}
}
}
}
|
cs |
'Learning > JAVA' 카테고리의 다른 글
메인함수 클래스와 출력 클래스 분리하고 출력하기 (0) | 2020.06.01 |
---|---|
메인함수 클래스를 분리, 출력문 불러오기 (0) | 2020.06.01 |
Switch문, for문, while문 (0) | 2020.06.01 |
조건문, 값 입력하기 (0) | 2020.06.01 |
자료형, if문, 다중 if문 (0) | 2020.06.01 |