偶数と奇数の数字を統計する文字列を入力します.
7267 ワード
このIOプログラムを作成するには、System.inを使用しないで、Scannerスキャンストリームを使用して、ここで2つのプログラムが提供されています.
System.inでいくつかの困難にぶつかって、1時間以上詰まって、とても気持ち悪い小さい困難で、主に自分の基礎がしっかりしていないことです1.byte配列の有効な長さについての問題2.System.inの中で入力が終わった後に改行して、改行は同時にデータの中の問題に入ります3.正規表現式4.Stringがint配列に変わる問題について
Scannerコード:
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);
}
}