筆試:處理輸入基礎

筆試都是acm模式,需要自己處理輸入輸出

 

首先注意類名都是規定好的,一般是Main類,最終直接new一個對象輸出結果

其次有一些常用函數:

爲了導入包,需要import java.util.*;

Scanner sc=new Scanner(System.in);//輸入
int n=sc.nextInt();//一個整數
String str=sc.next();//一個字符串
String str1=sc.nextLine().split(" ")[0];//獲取一行並且分割

然後會經常碰到一些轉換,new一些數組或者二維數組

Integer.parseInt(str.split("->")[0]);//字符串轉int型
String[][] table=new String[n][2];//二維數組

 

總的來說,只要是空格分隔的,總能直接next或者nextint

逗號或者其他分割的,需要split

 

舉幾個題目的例子:
題1:

 

 

 

 

        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        String[][] table=new String[n][2];
        for(int i=0;i<n;i++)
        {
            table[i][0]=sc.next();
            table[i][1]=sc.next();
        }
        Solution1 solution1=new Solution1();

 

第二題:

 

 

 

 

        Scanner sc=new Scanner(System.in);
        String[] timeStr=sc.nextLine().split(",");
        //存第一行數據
        List<Integer> list=new ArrayList<>();
        for(int i=0;i<timeStr.length;i++)
        {
            list.add(Integer.parseInt(timeStr[i]));
        }

        //存第二行數據
        String[] relyStr=sc.nextLine().split(",");
        List<Integer[]> table=new ArrayList<>();
        for(String str:relyStr)
        {
            Integer[] rely=new Integer[2];
            rely[0]=Integer.parseInt(str.split("->")[0]);
            rely[1]=Integer.parseInt(str.split("->")[1]);
            table.add(rely);
        }

第三題:

 

 

 

 

        Scanner sc=new Scanner(System.in);
        int row=sc.nextInt();
        int col=sc.nextInt();
        int t=sc.nextInt();
        int[][] table=new int[row][col];
        for(int i=0;i<row;i++)
        {
            for(int j=0;j<col;j++)
            {
                table[i][j]=sc.nextInt();
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章