zoukankan      html  css  js  c++  java
  • 笔试:处理输入基础

    笔试都是acm模式,需要自己处理输入输出

    注意先把笔试中的编译器修改成java

    首先注意类名都是规定好的,一般是Main类,最终直接new一个对象输出结果

    如果一开始我们命名是Solution1

    有三处地方需要修改

    输入要先完全输入完再输出

    上次阿里笔试发现的问题,不要在输入过程中往控制台打印东西

    搞成一个list存数据再打印吧

    输出成

    2,1,2,3  这种形式时

    最后一个不打逗号

    写成这样吧:

    for(int i=0;i<resultList.size();i++)
            {
                System.out.print(resultList.get(i));
                if(i!=resultList.size()-1)
                {
                    System.out.print(",");
                }
            }

    其次有一些常用函数:

    为了导入包,需要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();
                }
            }
  • 相关阅读:
    ToString格式大全
    C#栈的实现(数制转换)
    C# 二进制,十进制,十六进制 互转
    C#单向循环列表 解决 约瑟夫问题
    序列化和反序列化
    C#单向链表的实现
    C#实现二叉树遍历
    c#如何将一个整数转换二进制,并进行位运算
    2.ASP.NET AJAx架构客户端框架的简单实现
    1.使用XMLHttPRequest控件异步获取数据
  • 原文地址:https://www.cnblogs.com/take-it-easy/p/14631012.html
Copyright © 2011-2022 走看看