[JAVA]符号化基礎100題-[基礎-I/O]1010から1027

8588 ワード


前の文章は出力についての質問と答えを書いた.
[JAVA]符号化基礎100題-[基礎-出力]
今日の文章では、100のコードラインの基礎問題の入出力に関する質問と答えを整理します.
内容が少し多くて、書き終わるのに時間がかかりました.

コード行1010:1入力の[ベース-入力/出力]整数をそのまま出力

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int n = scanner.nextInt();
        
        System.out.println(n);
    }
}

説明)Scannerクラスを使用してユーザー入力を受信します.使用のため、以下のようになります.
1)現在のクラス以外のScannerクラスのインポート
import java.util.Scanner;
2)Scannerオブジェクトの作成
Scanner scanner = new Scanner(System.in);
3)作成したオブジェクトが提供するもの.next(); メソッドによる値の取得
scanner.nextInt();

コード行1011:1入力/出力文字

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String x = scanner.nextLine();
        
        System.out.println(x);
    }
}
説明)ScannerクラスのnextInt()、nextDoble()、nextFloat()などのメソッドは、戻りタイプによって異なります.
1011題のようにStringに戻るには2つの方法があります.
next()とnextLine()の2種類です.
説明)next()の場合、スペースを含まない文字列を入力するときに使用します.
nextLine()は、スペースを含む文字列を入力します.なぜなら、next()を使用してスペースを作成すると、現在の入力が終了します.ただし、nextLine()はenterをクリックする必要がありますが、現在の入力は終了します.
説明)では、いくつかの入力メソッド(nextInt()、nextDoble、nextFloat()など、戻りタイプが決定された入力メソッドにスペースが含まれている場合、それらは書き込まれますか?それともそうじゃないの?正解はスペースなしで使用します.

コード行1012:[基本-入力/出力]実数を受け入れて出力する

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
      
      Scanner sc = new Scanner(System.in);
      
      float x = sc.nextFloat();
      
      System.out.printf("%f%n", x);
      
    }
}

符号化1013:2個の入出力整数

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        
        int a, b;
        
        Scanner scanner = new Scanner(System.in);
        a = scanner.nextInt();
        b = scanner.nextInt();
        
        System.out.printf("%d%n%d", a, b);
    }
}

入力コード1014:[ベース-入力/出力]2文字を順次出力

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
           
        Scanner sc = new Scanner(System.in);
        
        String a = sc.next();
        String b = sc.next();
        
        System.out.printf("%s %s", b, a);

    }
}

符号化1015:[ベース-I/O]エラー入力および第2ビットへ出力

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        float a = sc.nextFloat();
        
        System.out.printf("%.2f%n", a);
        

    }
}

符号化1017:[基礎-I/O]1個の整数を受信して3回出力する

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        

        System.out.printf("%d %d %d", a , a , a);

    }
}

コード行1018:[ベース-入出力]受信しそのまま出力

import java.util.Scanner;


public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String str = sc.next();

        System.out.printf("%s", str);


    }
}

コード行1019:[基礎-入力-出力]受入年月日出力

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);

        String a = sc.nextLine();
		sc.close();
        
        String[] aNum = a.split("\\.",3);
        
        String a1 = aNum[0];
        String a2 = aNum[1];
        String a3 = aNum[2];


        int int1 = Integer.parseInt(a1);
        int int2 = Integer.parseInt(a2);
        int int3 = Integer.parseInt(a3);


        System.out.printf("%04d.%02d.%02d", int1, int2, int3);

    }
}

符号化1020:[基本入力/出力]ID番号を入力し、フォーマット出力を変換する

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String str = sc.next();
        
        sc.close();

        String[] aNum = str.split("\\-",2);

        String str1 = aNum[0];
        String str2 = aNum[1];

        System.out.printf("%s%s", str1, str2);
    }
}

コード行1021:「ベース-入力-出力」の文字を受け入れて出力する

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String str = sc. next();
        
        System.out.printf("%s", str);
    }
}

コード行1022:「ベース-入力-出力」文を受け入れて出力する

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String str = sc. nextLine();
        
        System.out.printf("%s", str);
    }
}

コード行1023:[ベース-入出力]エラー1個、部分出力

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
      	Scanner sc = new Scanner(System.in);
      	
      	String num = sc.nextLine();
      	
      	String[] numArr = num.split("\\.");
      	
      	System.out.printf("%s%n%s", numArr[0], numArr[1]);

    }
}

コード行1024:[基本-入力/出力]単語の受信と出力

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
      Scanner sc = new Scanner(System.in);
      
      String str = sc.nextLine();
      
      for(int i =0; i < str.length() ; i++){
          System.out.printf("\'%s\'%n" , str.charAt(i));
      }
    }
}

コード行1025:1入力/出力ベース整数

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
      
      Scanner sc = new Scanner(System.in);
      
      String numStr = sc.nextLine();
      	      /* 각 자리수를 int로 바꾸고, int 배열에 넘는 반복문 */
	      for (int i= 0; i < numStr.length() ; i++) {
	          
	          /* 각 자리수에 맞는 수로 바꾸어 출력하는 반복문 */
	          System.out.println("["+( (numStr.charAt(i) - '0') * (int) Math.round(Math.pow(10, 4-i)))+"]");
	          
	          /* charAt(i) - '0' 에서  
	          charAt(i) 는 문자 '7' 이다. 여기서
	          -'0'을 해야,
	          해당 문자를 나타내는 아스키 코드를 숫자로 바꿀 수 있다.
	          */
	      } 
	      
	      
    }
}

コード行1026:[基本-入力-出力]分単位で出力

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
    
        String time = sc.nextLine();
        StringTokenizer st = new StringTokenizer(time, ":");
        String[] str = new String[3];
        int i=0;
        while(st.hasMoreTokens()) {
            str[i]=st.nextToken();
            i++;
        }
        int min = Integer.parseInt(str[1]);
        System.out.println(min);
      
    }
}

コード行1027:[基礎-入力/出力]年月日入力とフォーマット置換出力

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String time = sc.nextLine();
        StringTokenizer st = new StringTokenizer(time, ".");
        String[] str = new String[3];
        int i=0;
        while(st.hasMoreTokens()) {
            str[i]=st.nextToken();
            i++;
        }
        
        int year = Integer.parseInt(str[0]);
        int mon = Integer.parseInt(str[1]);
        int day = Integer.parseInt(str[2]);

        System.out.printf("%s-%s-%s", String.format("%02d", day),
        		String.format("%02d", mon), String.format("%04d", year));
      
    }
}