10진수를 2,8,10,16 진수로 변경하기
[결과]
10진수 값을 입력하세요
16
16의 2진수 :10000
16의 8진수 :20
16의 10진수 :16
16의 16진수 :10
package chap5;
import java.util.Scanner;
public class Test8 {
public static void main(String[] args) {
int [] binary = new int[32];
System.out.println("10진수 입력");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int divnum = num;
int index=0;
while(divnum!= 0) {
binary[index++] =divnum%2;
divnum/=2;
}
System.out.print(num+"의 2진수:");
for(int i = index-1; i>=0;i--) {
System.out.print(binary[i]);
}
System.out.println();
int octal[] = new int[32];
divnum = num;
index=0;
while(divnum!= 0) {
octal[index++] =divnum%8;
divnum/=8;
}
System.out.print(num+"의 8진수:");
for(int i = index-1; i>=0;i--) {
System.out.print(octal[i]);
}
System.out.println();
int decimal[] = new int[32];
divnum = num;
index=0;
while(divnum!= 0) {
decimal[index++] =divnum%10;
divnum/=10;
}
System.out.print(num+"의 10진수:");
for(int i = index-1; i>=0;i--) {
System.out.print(decimal[i]);
}
System.out.println();
String nums = "0123456789ABCDEF";
char[] numarr = nums.toCharArray();
char[] hexa = new char[10];
divnum=num;
index=0;
while(divnum!= 0) {
hexa[index++] = numarr[divnum%16];
divnum/=16;
}
System.out.print(num+"의 16진수:");
for(int i = index-1; i>=0;i--) {
System.out.print(hexa[i]);
}
System.out.println();
}
}
1부터 100까지 임의의 수 10개를 배열에 저장하고, 정렬하여 출력하기
정렬 : java.util.Arrays.sort(arr)
[결과]
9,55,56,65,70,72,80,88,89,96,
package chap5;
import java.lang.reflect.Array;
import java.util.Arrays;
public class Test9 {
public static void main(String[] args) {
int[]arr = new int[10];
for(int i=0;i<arr.length;i++) {
arr[i] = (int)(Math.random()*100+1);
}
Arrays.sort(arr);
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+",");
}
System.out.println();
}
}
int[][] score = {
{90,80,70},
{95,85,75},
{70,80,75},
{75,70,85},
{70,75,80}
};
* score 배열보다 가로 세로가 1씩 더큰 배열 result 배열 생성하기.
* score 배열의 내용을 result에 저장하고,
* 각 추가된 행과 열에는 각 행과 열의 합을 저장하고, result 배열의 내용 출력하기
[결과]
1번: 90 80 70 240
2번: 95 85 75 255
3번: 70 80 75 225
4번: 75 70 85 230
5번: 70 75 80 225
합계 400 390 385 1175
package chap5;
public class Test11 {
/**
* @param args
*/
public static void main(String[] args) {
int[][] score = {
{90,80,70},
{95,85,75},
{70,80,75},
{75,70,85},
{70,75,80} //5열3행 출력할때는 6열4행
};
int maxcol =0;
for(int i=0;i < score.length;i++) {
if(maxcol < score[i].length)
maxcol = score[i].length;
}
int [] colsum = new int[maxcol];//열의합
int sum =0; // 행의합
for (int i = 0; i < score.length+1; i++) {
System.out.print(i+"번:\\t");
for (int j = 0; j < score[i].length; j++) {
sum += score[i][j];
colsum[j] += score[i][j];
System.out.print(score[i][j] +"\\t");
}
System.out.println(sum);
}
for(int i=0;i<colsum.length;i++) {
System.out.print(colsum[i]+"\\t");
}
System.out.println();
}
}