偶数と奇数の数字を統計する文字列を入力します.

7267 ワード

このIOプログラムを作成するには、System.inを使用しないで、Scannerスキャンストリームを使用して、ここで2つのプログラムが提供されています.
System.inでいくつかの困難にぶつかって、1時間以上詰まって、とても気持ち悪い小さい困難で、主に自分の基礎がしっかりしていないことです1.byte配列の有効な長さについての問題2.System.inの中で入力が終わった後に改行して、改行は同時にデータの中の問題に入ります3.正規表現式4.Stringがint配列に変わる問題について
package com;
import java.io.*;

public class T6 {

    public static void main(String[] args) throws Exception {

        InputStream input = System.in ;
        byte[] data = new byte[1024];

        System.out.println("     :");
        int len=input.read(data);//  byte          
        //     ,     len   1024      input 

        String str1 = new String(data,0,len,"UTF-8");// byte        

        String str = str1.replaceAll("(\r
|\r|
|
\r)"
,""); // // System.in , Scanner judgeint(str); //String int int[] nub = new int[str.length()]; for(int i=0;i < str.length();i++){ //substring i i+1 , i+1 nub[i] =Integer.parseInt(str.trim().substring(i,i+1)); } statistic(nub); } // public static void judgeint(String s){ String regex="^[0-9]*$";// if(s.trim().matches(regex)==true){ System.out.println(" "); }else{ System.out.println(" "); System.exit(1); } } // public static void statistic(int[] n){ int even=0; int odd=0; for(int i=0;iif(n[i] % 2 == 0){ if(n[i] == 0){ }else{ even++; } }else{ odd++; } } System.out.println(" :" + even); System.out.println(" :" + odd); } }

Scannerコード:
import java.util.Arrays;
import java.util.Scanner;
public class TestDemo {
    public static void main(String[] args) throws Exception {
        Scanner scan = new Scanner(System.in);
        scan.useDelimiter("
"
) ; String data = null ; // boolean flag = true ; // while(flag) { System.out.print(" :"); if (scan.hasNext()) { data = scan.next().trim() ; // if (data.matches("\\d+")) { // flag = false ; // } else { System.out.println(" , !"); } } } int oddCount = 0 ; // int evenCount = 0 ; // String result [] = data.split("") ; // for (int x = 1 ; x < result.length ; x ++) { int temp = Integer.parseInt(result[x]) ; // if (temp % 2 == 0) { // evenCount ++ ; } else { oddCount ++ ; } } System.out.println(" :" + oddCount); System.out.println(" :" + evenCount); } }