배열을 이용한 문자열 거꾸로 출력하기


문자열을 거꾸로 반환하는 클래스와 메소드가 있지만, 직접 코드로 구현 해 봤습니다.



import java.util.Scanner;

public class Reverse {
          void reverse(){ // 문자열을 입력받아서 거꾸로 출력하는 메소드
              Scanner s=new Scanner(System.in);
              System.out.println("문자를 입력하세요.");
              String input=s.nextLine();
              
              int len = input.length(); // 입력한 문자열의 길이를 저장하는 len 변수
              char[] change=new char[len]; // 한글자씩 담을 char형 배열 선언 - 문자열의 길이만큼
                        
              for(int i=0; i<len; i++){
              change[i]=input.charAt(i); // 문자열을 한글자씩 담는다.
              }
                        
              for(int i=len-1; i>=0; i--) // 배열의 길이-1만큼해야 가장 끝 방부터 시작한다.
              {
              System.out.print(change[i]); // 맨 끝 방부터 0번방까지 출력
              }
                   
          }
     
     public static void main(String[] args) {
          Reverse rev = new Reverse();
          rev.reverse(); // 메소드 호출
          
     }
}

(실행 결과)

문자를 입력하세요.
Hava A Nice Day!!
!!yaD eciN A avaH


정리

- input.charAt(i) : input문자열의 i번째 문자를 반환

- input.length() : input문자열의 길이를 반환

  추가적으로 .length는 배열의 길이 반환




반복문을 이용한 별찍기



- 순차적으로 찍기


          int count=0;

          for(int i=1; i<6; i++){
                   for(int j=0; j<i; j++)
                   {
                   System.out.print("*");
                   }
                   
                   System.out.println("");

          }

(실행 결과)

*
**
***
****

*****


- 거꾸로 찍기

          for(int i=5; i>0; i--)
          {
              for(int j=1; j<=i; j++)
              {
                   System.out.print("*");
              }
          System.out.println("");

          }


(실행 결과)

*****
****
***
**
*


- 삼각형 모양으로 찍기


for(int i=0; i<5; i++){
              int x=4;
              for(int j=0; j<x-i; j++){ // 별 앞에 공백을 찍는 for문
                   System.out.print(" ");
              }
              for(int k=0; k<=i; k++){ // 별을 찍는 for문
                   if(k == 0){ // *을 홀수개 찍기위해서 하나와
                        System.out.print("*");
              }
                  else{ // 두개를 나눠서 찍는다.
                   System.out.print("**");
                  }
              }// close for()
                   System.out.println("");

              }//close for()

(실행 결과)

    *
   ***
  *****
 *******
*********





반복문을 이용한 구구단



- for문을 이용한 구구단 출력


          int i,j;

          for(i=2; i<10; i++)
          {
              for(j=1; j<10; j++){
                   System.out.print(i+"*"+j+"="+i*j+",");
              }
          System.out.println(" "); // 단을 구분하기 위한 개행

          }

(실행 결과)

2*1=2,2*2=4,2*3=6,2*4=8,2*5=10,2*6=12,2*7=14,2*8=16,2*9=18,
3*1=3,3*2=6,3*3=9,3*4=12,3*5=15,3*6=18,3*7=21,3*8=24,3*9=27,
4*1=4,4*2=8,4*3=12,4*4=16,4*5=20,4*6=24,4*7=28,4*8=32,4*9=36,
5*1=5,5*2=10,5*3=15,5*4=20,5*5=25,5*6=30,5*7=35,5*8=40,5*9=45,
6*1=6,6*2=12,6*3=18,6*4=24,6*5=30,6*6=36,6*7=42,6*8=48,6*9=54,
7*1=7,7*2=14,7*3=21,7*4=28,7*5=35,7*6=42,7*7=49,7*8=56,7*9=63,
8*1=8,8*2=16,8*3=24,8*4=32,8*5=40,8*6=48,8*7=56,8*8=64,8*9=72,
9*1=9,9*2=18,9*3=27,9*4=36,9*5=45,9*6=54,9*7=63,9*8=72,9*9=81,


- while문을 이용한 구구단 출력


          int i,j;
          i=1; j=1;
          while(i<10)
          {
              while(j<10){
                   System.out.print(i+"*"+j+"="+i*j+",");
                   j++;
              }
              System.out.println();
              j=1; // 초기화
              i++;
          }


- 원하는 단을 입력받아서 해당하는 단만 출력


import java.util.Scanner;
public class gugu
{
     

          Scanner s= new Scanner(System.in);
          // 입력을 받기 위한 Scanner클래스
          while(true){ // break를 만나기 전까지 계속 반복
              System.out.print("구구단을 출력하는 프로그램입니다.\n출력할 단을 입력하세요 (종료하시려면 0 입력) : ");
              int input=s.nextInt(); // 정수를 입력받아 input 변수에 저장
                   
              if(input==0){ // 0이 입력되면 종료
                   System.out.println("이용해주셔서 감사합니다.");
                   break;
              }
                   
              for(int i=1; i<10; i++){
                   System.out.println(input+"*"+i+"="+input*i);
              }//close for()
              System.out.println(); // 단을 출력한 뒤 한줄개행
          }//close while()
     }
}

(실행 결과)

구구단을 출력하는 프로그램입니다.
출력할 단을 입력하세요 (종료하시려면 0 입력) : 5
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
구구단을 출력하는 프로그램입니다.
출력할 단을 입력하세요 (종료하시려면 0 입력) : 0

이용해주셔서 감사합니다.





+ Recent posts