#3
Scanner를 이용하여 정수를 입력받고 다음과 같이 *을 출력하는 브로그램을 작성하라. 다음은 5를 입력받았을 경우이다.
정수를 입력하시오>> 5
*****
****
***
**
*
import java.util.*;
public class Ex3_3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("정수를 입력하시오>>");
int n = scan.nextInt();
for(int i=n;i>0;i--){ // int(i=0;i<n;i++)
for(int j=0;j<i;j++){
System.out.print("*");
}
System.out.println();
}
scan.close();
}
}
|
#4
Scanner를 이용하여 소문자 알파벳을 하나 입력받고 다음과 같이 출력하는 프로그램을 작성하라. 다음은 e를 입력받았을 경우이다.
소문자 알파벳 하나를 입력하시오>> e
abcde
abcd
abc
ab
a
import java.util.*;
public class Ex3_4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("소문자 알파벳 하나를 입력하시오>>");
// 'a'=97, 'z'=122
char aString = scan.next().charAt(0);
int num = (int)aString;
for(int i=num;i>96;i--){
for(int j=97;j<i;j++){
System.out.print((char)j);
}
System.out.println();
}
scan.close();
}
}
|
scan.next( ).charAt(0) 으로 문자열 읽기
입력받은 문자열의 아스키 값 num에 입력
#5
양의 정수를 10개 입력받아 배열에 저장하고, 배열에 있는 정수 중에서 3의 배수만 출력하는 프로그램을 작성하라
import java.util.*;
public class Ex3_5 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i;
int [] arr = new int [10];
System.out.println("양의 정수 10개를 입력하세요 : ");
for(i=0;i<arr.length;i++){
arr[i] = scan.nextInt();
}
System.out.print("3의 배수는 : ");
for(i=0;i<arr.length;i++){
if(arr[i]%3==0){
System.out.print(arr[i] + " ");
}
}
scan.close();
}
}
|
#7
정수를 10개 저장하는 배열을 만들고 1에서 10까지 범위의 정수를 랜덤하게 생성하여 배열에 저장하라. 그리고 배열에 든 숫자들과 평균을 출력하라.
import java.util.*;
public class Ex3_7 {
public static void main(String[] args) {
int [] arr = new int [10]; // 정수 10개를 저장하는 배열
int sum = 0;
for(int i=0 ; i<arr.length ; i++){
arr[i] = (int)(Math.random()*10+1); // random()은 double형 난수를 출력하므로 (int)로 형변환(casting)
sum += arr[i];
}
System.out.print("랜덤한 정수들 : ");
for(int i=0 ; i<arr.length ; i++){
System.out.print(arr[i]+" ");
}
System.out.print("평균 : "+(float)sum/arr.length);
}
}
|
자바에서 난수를 얻는 방법
1) Math 클래스의 Math.random() 메소드 : 0.0에서 1사이의 double형의 난수를 얻는데만 사용
2) Random 클래스 : boolean, int, long, float, double 난수를 얻을 수 있음
>> Math.random()에서 생성하는 0.0~1.0사이의 난수에 x10을 하여 1~10사이의 랜덤값을 출력하도록
#8
정수를 몇 개 저장할지 키보드로부터 개수를 입력받아(100보다 작은 개수) 정수 배열을 생성하고, 이곳에서 1~100까지의 범위의 정수를 랜덤하게 삽입하라. 배열에는 같은 수가 없도록 하고 배열을 출력하라.
import java.util.*;
public class Ex3_8 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("몇 개의 정수를 저장할 것인가? : ");
int num = scan.nextInt();
int [] arr = new int [num]; // 입력받은 num개의 배열 생성 -- 여기에 랜덤하게 1~100 숫자 저장 및 출력
for(int i=0;i<arr.length;i++){
arr[i] = (int)(Math.random()*100+1); // 1~100까지의 난수 생성
for(int j=0;j<i;j++){ // 중복 제거
if(arr[i] == arr[j]){
i--;
}
}
}
for(int i=0;i<arr.length;i++){ // 출력
System.out.print(arr[i] + " ");
if((i+1)%10 == 0){ // 한줄에 최대 10개의 값 출력
System.out.println();
}
}
scan.close();
}
}
|
#9
4x4의 2차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수16개를 배열에 저장하고, 2차원 배열을 화면에 출력하라
import java.util.*;
public class Ex3_9 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int [][] arr = new int [4][4]; // 2차원 배열 생성
for(int i=0 ; i<arr.length ; i++){
for(int j=0 ; j<arr[i].length ; j++){
arr[i][j] = (int)(Math.random()*10+1);
}
}
for(int i=0 ; i<arr.length ; i++){
int j;
for(j=0 ; j<arr[i].length ; j++){
System.out.print(arr[i][j] + " ");
}
if(j==arr[i].length){ // i값이 바뀌면 출 바꾸기
System.out.println();
}
}
scan.close();
}
}
|
#13
반복문을 사용하여 369게임에서 박수를 쳐야 하는 경우를 순서대로 화면에 출력해보자. 1부터 시작하며 99까지만 한다. 실행 사례는 다음과 같다.
public class Ex3_13 {
public static void main(String[] args) {
int a,b; // a,b를 for문 밖에서 먼저 선언해줘야함
for(int i=1;i<100;i++){
a = i/10; // 1의 자리 수
b = i%10; // 10의 자리 수
if((a==3||a==6||a==9) && (b==3||b==6||b==9)){ // 둘중 하나만 3의 배수여야야 짝짝
System.out.println(i+" 박수 짝짝");
}
else if((a==3||a==6||a==9) || (b==3||b==6||b==9)){
System.out.println(i+" 박수 짝");
}
}
}
}
|
'Language > JAVA' 카테고리의 다른 글
[명품 JAVA programming] CHAPTER 4 클래스와 객체(실습문제) (0) | 2023.03.19 |
---|---|
[명품 JAVA programming] CHAPTER 4 클래스와 객체 (0) | 2023.03.19 |
[명품 JAVA programming] CHAPTER 3 반복문과 배열 그리고 예외 처리 (0) | 2023.02.19 |
[명품 JAVA programming] CHAPTER 2 자바 기본 프로그래밍(실습문제) (0) | 2023.02.10 |
[명품 JAVA programming] CHAPTER 2 자바 기본 프로그래밍 (0) | 2023.02.10 |