今天将java语言面试过程中输入输出做一个详细的总结

  • 输入:包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。
  • 输出:a+b的结果

比如:
1 5
10 20
输出
6
30

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            int a = scanner.nextInt();
            int b= scanner.nextInt();
            System.out.println(a+b);
        } 
    }
}

  • 输入:第一行包括一个数据组数t(1 <= t <= 100) 接下来每行包括两个正整数a,b(1 <= a, b <= 1000)
  • 输出:a+b的结果

比如:
2
1 5
10 20
输出:
6
30

import java.util.Scanner;
 
public class Main{
    public static void main(String[] arg){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
         
        for(int i=0;i<n;i++){
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            System.out.println(a+b);
        }
    }
}

  • 输入:包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
  • 输出:a+b的结果

比如:
1 5
10 20
0 0
输出:
6
30

import java.util.Scanner;
 
public class Main{
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
         
        while(sc.hasNext()){
            int a = sc.nextInt();
            int b = sc.nextInt();
            if(a==0 && b==0) break;
            System.out.println(a+b);
        }
    }
}

  • 输入数据包括多组。
    每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
    接下来n个正整数,即需要求和的每个正整数。
  • 输出:每组数据输出求和的结果

比如:
4 1 2 3 4
5 1 2 3 4 5
0
输出:
10
15

import java.util.Scanner;
 
public class Main{
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            int n = sc.nextInt();
            if(n==0) break;
            int sum = 0;
            for(int i=0;i<n;i++){
                sum+=sc.nextInt();
            }
               System.out.println(sum);
        }
    }
}

  • 输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
    接下来t行, 每行一组数据。
    每行的第一个整数为整数的个数n(1 <= n <= 100)。
    接下来n个正整数, 即需要求和的每个正整数。
  • 输出:求和

比如:
2
4 1 2 3 4
5 1 2 3 4 5
输出:
10
15

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int i=0;i<n;i++){
            int m  = sc.nextInt();
            int sum=0;
            for(int j=0;j<m;j++){
                sum += sc.nextInt();
            }
            System.out.println(sum);
        }
    }
}

  • 输入数据有多组, 每行表示一组输入数据。
    每行的第一个整数为整数的个数n(1 <= n <= 100)。
    接下来n个正整数, 即需要求和的每个正整数。
  • 输出:每组数据输出求和的结果

比如:
4 1 2 3 4
5 1 2 3 4 5
输出:
10
15

import java.util.Scanner;
 
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            int sum =0;
            for(int i=0;i<n;i++){
                sum+= sc.nextInt();
            }
            System.out.println(sum);
        }
            
    }
}

  • 输入数据有多组, 每行表示一组输入数据。
    每行不定有n个整数,空格隔开。(1 <= n <= 100)。
  • 输出:每组数据输出求和的结果

比如:
1 2 3
4 5
0 0 0 0 0
输出:
6
9
0

import java.util.*;
 
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            int sum = 0;
            String[] str = sc.nextLine().split(" ");
            for(int i=0;i<str.length;i++){
                sum+=Integer.valueOf(str[i]);
            }
            System.out.println(sum);
        }
    }
}

  • 输入有两行,第一行n
    第二行是n个字符串,字符串之间用空格隔开
  • 输出:一行排序后的字符串,空格隔开,无结尾空格

比如:
5
c d a bb e
输出:
a bb c d e

import java.util.*;
 
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
         
        int n = sc.nextInt();
        String[] str = new String[n];
         
        for(int i=0;i<n;i++){
            str[i] = sc.next();
        }
        Arrays.sort(str);
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<n;i++){
            sb.append(str[i]+" ");
             
        }
         
        System.out.println(sb.toString().trim());
         
    }
}

  • 多个测试用例,每个测试用例一行。
    每行通过空格隔开,有n个字符,n<100
  • 输出:对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

比如:
a c bb
f dddd
nowcoder
输出:
a bb c
dddd f
nowcoder

import java.util.*;
 
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String[] str = sc.nextLine().split(" ");
            Arrays.sort(str);
            StringBuilder sb = new StringBuilder();
            for(int i=0;i<str.length;i++){
                sb.append(str[i]+" ");
            }
            System.out.println(sb.toString());
        }
        
    }
}

  • 多个测试用例,每个测试用例一行。
    每行通过,隔开,有n个字符,n<100
  • 输出:对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格

比如:
a,c,bb
f,dddd
nowcoder
输出:
a,bb,c
dddd,f
nowcoder

import java.util.*;
 
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String[] str = sc.nextLine().split(",");
            Arrays.sort(str);
            StringBuilder sb = new StringBuilder();
            for (int i=0;i<str.length;i++){
                sb.append(i==(str.length-1)? str[i]:str[i]+",");
            }
            System.out.println(sb.toString());
        }
        
    }
}

  • 输入有多组测试用例,每组空格隔开两个整数(数据范围: 0 < a,b < 2×10^10)
  • 输出:对于每组数据输出一行两个整数的和

比如:
1 1
输出:
2

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
         while(sc.hasNextLine()){
             String[] str = sc.nextLine().split(" ");
             long a = Long.valueOf(str[0]);
             long b = Long.valueOf(str[1]);
             System.out.println(a+b);
         }
    }
}