Javaの入力

2561 ワード

Javaをコンソールから入力するには、まずScannerオブジェクトを構築し、「標準入力ストリーム」System.inに関連付けます.
その標準形式は
Scanner.in = new Scanner(System.in);
は、次に例として、Scannerクラスの様々な方法によって入力動作を実施することができる.
nextLineメソッドでは、行を入力できますが、スペースが含まれる場合があります.
nextは文字列の単語を読み取ることができます.
nextIntは整数を読み込むことができます.
nextDoubleは浮動小数点数を読み込むことができます.
いくつかの問題では、キーボードから数字を読み取る要求によく遭遇します.これらの要求は多変的で、いくつかの例を挙げて説明します.
1、サンプルを入力:
6
10
12
0
行で読み出し、0を入力終了のフラグとする.この場合、コードはこのように記述されるべきです.
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
			int num = in.nextInt();
			if (num == 0) {
				break;
			}
}

2、入力サンプル
3
4
5
7
行読みで、1番目の数が入力された個数を決定します.この場合、コードはこのように記述されるべきです.
Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        for (int i = 0; i < t; i++) {
        	int num= in.nextInt();
        }
}
3、入力サンプル
1   3
2   4
6   4
3   5
行ごとに読み取り、行ごとに2つの数字があります.
この場合、コードはこのように記述されるべきです.
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
	int a = in.nextInt();
	int b = in.nextInt();
}
 附上两段完整代码: 
   
  

1、

public class Solution {
	public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        while (in.hasNext()) {
            int n= in.nextInt();
            if (n == 0) {
                System.out.println(0);
                continue;
            }
            int sum = 1;
            for (int i = 0; i < n; i++) {
                while (n > 0) {
                    if (n % 2 == 0) {
                        sum *= 2;
                    }
                    n /= 2;
                }
            }
            System.out.println(sum);
        }
        in.close();
    }
}

2、
package ziyue;

import java.util.Scanner;

public class zhishu {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while (in.hasNextInt()) {
			int num = in.nextInt();
			if (num == 0) {
				break;
			}
			int sum = 0;
			for (int i = 2; i <= num / 2; i++) {
				if (su(i) && su(num - i)) {
					sum++;
				}
			}
			System.out.println(sum);
		}
		in.close();
	}
	public static boolean su(int n) {
		int count = 0;
		for (int i = 2; i < n; i++) {
			if (i > 0 && n % i == 0) { 
				count++;
			}
		}
		return(count == 0);
	}
}