ACM模式输入输出,简单总结

整体框架

import java.util.Scanner;
public class Main{
    
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        Main test = new Main();
        while (input.hasNext()){  // 不动,在next xxx中动
            int a = input.nextInt();
            int b = input.nextInt();
            System.out.println(test.sum(a, b));
        }
    }
    
    public int sum(int a, int b){
        return a + b;
    }
}

输入部分

String[] temp = input.nextLine().split(" ");
next(): 空格、换行对它来说,都一样作为分隔符
nextInt(): 和next()一样,换行对它不起作用,读进来字符需要满足Integer
nextLine(): 只读走一行,换行符作为分隔符,不会开启下一行
测试:https://ac.nowcoder.com/acm/contest/5652/H

1 2
3 4
while (input.hasNext()){
    int a = input.nextInt();
    int b = input.nextInt();
    // 处理逻辑
}
------
10  // 给出测试数据数量级
1 2
3 4
int numLen = input.nextInt();
for (int i = 0; i < numLen; i++)
------
1 2 3
4 5
0 0 0 0 0
// 每行数据不定
String[] temp = input.nextLine().split(" ");
for(String s: temp) {
    sum += Integer.valueOf(s);
}

输出

for (int i = 0; i < words.length; i++) {
    System.out.print(words[i]);
    if (i != words.length - 1) {
        System.out.print(",");
    }
}
System.out.println();

String.join(",", strs)  // 避免手动处理最后一位

// 处理指定格式
 System.out.printf("%.2f",3.555);
String str = String.format("%.2f",3.555);
posted @ 2022-07-28 10:47  spongie  阅读(262)  评论(0编辑  收藏  举报