N4. 白駿8958



今日の問題は、1次元配列


あ….これは悩みも解決しにくい問題だ.🙁
public static void main(String[] args) {
		String s[];
		
		Scanner scanner = new Scanner(System.in);
		
		String b = scanner.nextLine();
		int c = Integer.parseInt(b);
		s = new String[c];
考慮して開始するコード
ここでまた悩む...文字列で决めたのに、どうして1つ1つの比较字で点数を増やすことができますか...
どう考えてもだめです.質問文の助けで書いたものです.😩
for(int i = 0; i < c; i++) {
			s[i] = scanner.nextLine();
			String[] str = s[i].split("");
			
			int count = 0;
			int sum = 0;
			
			for(int j=0; j<str.length; j++) {
				if(str[j].equals("O")) {
					sum += ++count;
				} else {
					count = 0;
				}
			}
			result[i] = sum;
		}
このようにする価値があるのは、私はまだ多くの手配が必要です.
今度の機会にもっといい命令語を勉強しましょう.

1.splitで行文を1文字に分ける方法


2=比較文字ではなくequalsを使用


出力文までこう書けば!コード補完
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		String s[];
		
		Scanner scanner = new Scanner(System.in);
		
		String b = scanner.nextLine();
		int c = Integer.parseInt(b);
		s = new String[c];
		int[] result = new int[c];
		
		for(int i = 0; i < c; i++) {
			s[i] = scanner.nextLine();
			String[] str = s[i].split("");
			
			int count = 0;
			int sum = 0;
			
			for(int j=0; j<str.length; j++) {
				if(str[j].equals("O")) {
					sum += ++count;
				} else {
					count = 0;
				}
			}
			result[i] = sum;
		}
		
		for(int i = 0; i < c; i++) {
			System.out.println(result[i]);
		}
		scanner.close();
	}

}
ps.今日は文案배열[].split(""), 배열[].equals("문자")を暗記します🥸