【编程竞赛】JAVA

由于第一次参加AtCoder比赛时表现不佳,所以为了准备下一次比赛,我整理了一些似乎必要的知识,并会随时进行补充。

获取标准输入

如果没有这个,什么都不能做。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
    //標準出力の1行目取得
        String first_row = sc.next();
    //標準出力の2行目取得
        String second_row = sc.next();
    }
}

将文本型转换为数值型

如果想要将标准输出用作数字时使用

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
    //標準出力の1行目取得
        String first_row = sc.next();
    //整数に変換
        Integer num = Integer.parseInt(first_row);
    }
}

获取第n个字符的文本

我觉得用charAt可能更好,但是出现了错误无法使用,所以我用substring代替了。
(我想请教一下怎么使用charAt。)

String test = "ABCDEFGHIJKLMNOPQRST";
//substring(k,n)で文字のk+1からn+1番目までの文字を取得できる。
//substring(k-1,k)でk番目の文字を取得できる。
String val = test.substring(2,3);

请反省一下

第一次参加编程竞赛的结果是0分…
原因是我尝试解决了我感觉能解决的问题,但是我编写的程序执行时间超过了限制,所以无法得分。

在反省的角度上,
应该在参加之前解决练习问题。
应该预先准备好编辑环境。

我明白了的事情

・如果在嵌套中使用两次以上的for循环或while循环,可能会超过执行时间。
・即使是复杂的问题,也最好从较小的数字开始考虑。
・即使是看起来简单的问题,如果要避免超过执行时间限制,有时需要找到规律。

请参阅以下文章

获取第n个字符

广告
将在 10 秒后关闭
bannerAds