개발공부 2023 ~03~13
복습 5일차 (키보드 입력 받아 값 처리하기,Random 객체 )
주우동
2023. 3. 18. 14:42
키보드 입력을 읽어오는 기능을 제공하는 keyboardReader 객체를 생성 및 값 처리
package pratice;
import util.KeyboardReader;
public class Demo7 {
public static void main(String[] args) {
KeyboardReader reader = new KeyboardReader();
//키보드 입력을 읽어오는 기능을 제공하는 keyboardReader 객체를 생성한다.
// new keyboardReader() -> new 키워드를 사용해서 keyboardReader 설계도로 객체를 생성한다.
//keyboardReader reader -> keyboardReader 설계도로 생성된 객체의 주소값을 담는 참조변수 reader를 생성한다.
//국어,영어,수학 점수를 입력받아서 총점과 평균 출력하기
System.out.println("국어점수를 입력하세요! :");
int kor = reader.readInt(); //국어점수를 입력받는 기능
System.out.println("영어점수를 입력하세요! :");
int eng = reader.readInt();
System.out.println("수학점수를 입력하세요! :");
int meth = reader.readInt();
int total = kor+eng+meth;
System.out.print("국어: "+kor+"\t"+"수학:\t"+eng+"영어:\t"+meth+"평균:\t"+total);
}
}
결과값
keyboardReader를 이용해서 사용자가 입력한 값을 읽어와서 배열에 저장하기
//keyboardReader를 이용해서 사용자가 입력한 값을 읽어와서 배열에 저장하기
// 학생이름을 입력받아서 배열에 저장하기, 총 학생수는 3명으로 제한한다.
KeyboardReader reader = new KeyboardReader(); //리더란 객체를 리모콘에 연결지어놓았다.
String[] names = new String[3]; //스트링 배열 3의 크기 선언
for(int i=0;i<names.length;i++) { //배열의 길이만큼 for문 반복
System.out.println("학생이름을 입력하세요 : ");
String value =reader.readString(); //스트링value에 이름 값을 받는다
names[i]=value; //names 배열에 입력받은 값을 저장한다.
}
//for(int i=0;i<names.length; i++) {
//System.out.print(names[i]+"\t"); //for문을 이용한출력
//}
for(String name : names) {
System.out.println(name); // 향상된 for문을 이용한 출력
}
결과값
Random 객체 생성 및 최대값 찾기
package array;
import java.util.Random;
public class Random1 {
public static void main(String[] args) {
//random 객체 랜덤한 수를 출력한다/ 임의의 난수를 제공하는 것
//nextInt(int bound) : bound에 지정한 숫자를 기준으로 0~bound 범위에 속하는 임의의 정수를 제공 0은 포함되고 bound는 포합되지 않는다.
//배열 크기 10 /배열에 저장된 가장 큰값과 작은 값을 출력하라!
//1.배열을 생성한다,
int[] arr = new int[10];
//2.임의의 난수를 발생시키는 객체 random을 생성한다.
Random random = new Random();
//3.배열의 크기만큼 반복수행해서 배열을 임의의 난수에 저장한다.
for(int i=0;i<arr.length;i++) {
arr[i] = random.nextInt(100)+1; //사용법 객체명(random).next(타입값 대문자시작)(범위);
}
//3.5 배열 저장된 값 출력
for(int i : arr) {
System.out.println(i);
}
//4.배열에 저장된 값 중에서 가장 큰수와 작은수를 출력한다.
int max = arr[0]; //arr의 0번째 값 대입
for (int i=1;i<arr.length;i++) { //arr[1]부터 배열 크기만큼 반복되는 for문
int nux= arr[i]; //nux에 arr[i]값을 대입
if(nux>max) { //nux값이 max보다 크다면
max = nux; //max nux값을 대입
}
}
//5.max의 값 출력
System.out.println("최댓값 : "+max);
//최소값 찾기도 똑같다.!!
}
}
결과값
랜덤한 수를 입력받고 그 수에 3,6,9가 포함된 숫자 카운트해보기
package array;
import java.util.Random;
public class Array6 {
public static void main(String[] args) {
// 랜덤한 수를 입력받고 그 수에 3,6,9가 포함된 숫자 카운트해보기
Random random = new Random(); //랜덤객체 생성
int count = 0; //count 선언
int[] ary = new int[10]; //배열 선언
for(int i=0;i<ary.length;i++) {
int st = random.nextInt(100)+1; //랜덤변수의 범위 지정 및 st에 대입
ary[i]= st;
}
for (int i : ary){ //향상된 for문 ary배열 전체 사용
int num = i;
if((num%10==3)||(num%10==6)||(num%10==9)) {//ex: num 43%10은 3 일의 자리를 나머지 연산으로 구한후 비교
count++; //조건에 부합하면 카운트 증가
continue; // 33 66 등 카운트가 두개 올라가는 것을 방지하기 위해 continue
}
if((num/10==3)||(num/10==6)||(num/10==9)) {//ex: num 43/10은 4 십의 자리를 몫 연산으로 구한후 비교
count++;
}
}
System.out.println("3,6,9가 포합된 숫자 갯수 : "+count); //횟수 출력
for(int ary1 : ary ) {
System.out.println(ary1);
}
}
}
결과값
*자바에서 대문자로 시작하는건 항상 클래스 이름 소문자는 식별자이름
Random(클래스) random(식별자) = new Random(클래스)();
Random cla = new Random(); 참조할 클래스 선언
다음주 2주동안 상속과 클래스를 배우는데 가장중요한 부분이다!