JAVA経典アルゴリズム40題(4)


もっと読む
【プログラム7】タイトル:1行の文字を入力し、それぞれアルファベット、スペース、数字とその他の文字の個数を集計します。
プログラム解析:while文を利用して、条件は入力の文字ではない''です。
import java.util.Scanner;
public class ex7 {
    public static void main(String args[]){
        System.out.println("      :");
        Scanner scan=new Scanner(System.in);
        String str=scan.next();
        String E1="[\u4e00-\u9fa5]";
        Sintrting E2="[a-zA-Z]";
        countH=0;
        int countE=0;
        char[] arrChar=str.toCharArray();
        String[] arrStr=new String[arrChar.length];
        for (int i=0;i
            arrStr[i]=String.valueOf(arrChar[i]);
        }
        for (String i: arrStr ){
            if (i.matches(E1)){
                countH++;
            }
            if (i.matches(E2)){
                countE++;
            }
        }
        System.out.println("     "+countH);
        System.out.println("     "+countE);
    }
}
 
【手順8】テーマ:s=a+a+a+a+a+a+a...aの値を求めて、その中のaは数字です。例えば、2+22+22+2222+22222(この場合は5つの数が加算されます)のように、いくつかの数がキーボードで制御されます。
プログラム解析:キーは各項目の値を計算することです。
import java.io.*;
public class Sumloop {
    public static void main(String[] args) throws IOException{
        int s=0;
        String output="";
        BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("   a  ");
        String input =stadin.readLine();
        for(int i =1;i<=Integer.parseInt(input);i++){
            output += input;
            int a = Integer.parseInt(output) ;
            s+=a;
        }
        System.out.println(s);
    }
}
 正解:
import java.io.*;
public class Sumloop {
    public static void main(String[] args) throws IOException{
        int s=0;
        int n;
        int t=0;
        BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));
        String input = stadin.readLine();
        n= Integer.parseInt(input);
        for(int i=1;i<=n;i++){
            t=t*10+n;
            s=s+t;
            System.out.println(t);
        }
        System.out.println(s);
    }
}