
<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} -->

<!-- code_chunk_output -->

- [编程题](#编程题)
- [函数题](#函数题)

<!-- /code_chunk_output -->


# 拼题平台使用

首先去[拼题](https://pintia.cn/)平台注册用户，如果需要绑定码，请参考老师在QQ群中发布的绑定码。

# 编程题和函数题

## 编程题

这两个题型都是需要编程的，并通过拼题平台进行编译，运行。区别是：编程题需要写主函数，函数题不需要写主函数，而只是需要写一个程序中的一部分。

==拼题平台一般是单文件编译，并且对主类是有严格要求的，必须是 Main。你在本地的编辑的代码，可能主类并不是Main，但是提交到拼题后，请修改主类的名称！否则编译会失败。==

![1677659805079.png](./img/1677659805079.png)

1. 编译器选择Java，一般只有这个选项，如果有多个选项，请选择Java；
2. 对一编程题，主类必须是Main，如果有import，也需要写出来；
3. 测试用例是老师给出的标准测试用例，用于检测你程序是否运行正确。当然你也可以修改测试用例，如果想回到标准的测试用例，请点击（7）位置的“重置测试用例”；
4. 当点击（8）的“运行测试”后，可以在（4）位置检查程序的输出是否正确。如果是标准的测试用例，会出现正确的输出和你程序运行输出的对比；
5. 编译器输出，检测你的编译错误；
6. 测试用例输入，请参考（3）；
7. 重置测试用例，请参考（3）；
8. 运行测试，请参考（4）。

当运行后，如果使用的是标准的测试用例，出现下面的对比：

![1677660511748.png](./img/1677660511748.png)

上图中，左边是你你的运行结果；右边是正确的运行结果。（3）位置处标识了你运行结果和预期结果的不同。这个例子中你运行结果的最后一行多了一个回车。一般来说，最后一行多一行回车没有什么关系，会被判定为正确。

如果程序编译错误，在运行后会出现编译错误界面，可以根据该界面去排错，如下图：

![1677660700874.png](./img/1677660700874.png)

==界面的最下面有“提交本题作答”，在完成编程后务必点击提交，否则你的代码不会被上传和评阅！== 提交作答后的界面如下图：

![1677660851190.png](./img/1677660851190.png)

界面在（1）和（2）的位置提示了你该题的得分；每个编程题或者函数题都有隐藏的测试点，一般可能是边界条件测试点，或者是需要进行错误处理的测试点。每个测试点都有一定的得分。例如上图中有5个测试点。

## 函数题

函数题关于编译和测试的方式与编程题一致，唯一不同的是你只需要提交代码的一部分，一般在题面中有详细的说明，如下图：

![1677661189299.png](./img/1677661189299.png)

左边是题面，右边是你的提交代码。可以看到，右边并没有完整的主类定义，而主类的定义在左边的题面中。

如果你需熬在Eclipse中调试代码，需要将左边题面部分的代码复制到Eclipse当中，然后在提示的位置编写你的答案。

==注意：函数题一般是写类或者是接口的定义，这些类或者是接口不能使用 public 进行修饰，因为在一个Java文件中只能有一个 public类，这个类就是主类。==


