资源简介
输入中,包含且仅包含一行,表示一个表达式。
关于输出,首先程序需要对输入数据的合法性进行判定
- 如果是一组合法的输入数据(即符合上述的表达式基本规则),则应当输出一行,表示求出的导函数。格式同样需要满足上述的表达式基本格式规则。
- 如果是一组不合法的输入数据,则应当输出一行`WRONG FORMAT!`

代码片段和文件信息
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main {
private ArrayList polyList = new ArrayList<>();
private static final BigInteger MINUXONE = BigInteger.valueOf(-1);
private void parsePoly(String[] polyArr) {
for (String str : polyArr) {
if (str.isEmpty()) {
continue;
} else if (!Pattern.matches(“.*x\\^.*“ str)) {
polyList.add(new Poly(str “0“));
} else {
String[] temp = str.split(“\\*x\\^“);
polyList.add(new Poly(temp[0] temp[1]));
}
}
}
private void computePoly() {
for (int i = 0; i < polyList.size(); i++) {
for (int j = i + 1; j < polyList.size(); j++) {
if (polyList.get(i).getDeg().equals(polyList.get(j).getDeg())
&& !polyList.get(j).isRepeat()) {
polyList.get(i).addTerm(polyList.get(j).getTerm());
polyList.get(j).setRepeat(true);
}
}
polyList.get(i).diff();
}
}
private void output() {
BigInteger constant = BigInteger.ZERO;
boolean firstOut = true;
for (Poly p : polyList) {
if (p.isRepeat()) {
continue;
} else if (p.isCons()) {
constant = p.getTerm();
} else if (firstOut) {
if (p.getTerm().compareTo(BigInteger.ONE) == 0) {
System.out.print(“x“);
} else if (p.getTerm().compareTo(MINUXONE) == 0) {
System.out.print(“-x“);
} else if (p.getTerm().compareTo(BigInteger.ZERO) > 0) {
System.out.print(p.getTerm() + “*x“);
} else {
System.out.print(p.getTerm() + “*x“);
}
firstOut = false;
} else if (p.getTerm().compareTo(BigInteger.ONE) == 0) {
System.out.print(“+x“);
} else if (p.getTerm().compareTo(MINUXONE) == 0) {
System.out.print(“-x“);
} else if (p.getTerm().compareTo(BigInteger.ZERO) > 0) {
System.out.print(“+“ + p.getTerm() + “*x“);
} else {
System.out.print(p.getTerm() + “*x“);
}
if (p.getDeg().compareTo(BigInteger.ONE) != 0
&& p.getDeg().compareTo(BigInteger.ZERO) != 0) {
System.out.print(“^“ + p.getDeg());
}
}
if (constant.compareTo(BigInteger.ZERO) >= 0) {
if (firstOut) {
System.out.println(constant);
} else if (constant.compareTo(BigInteger.ZERO) > 0) {
System.out.println(“+“ + constant);
}
} else if (constant.compareTo(BigInteger.ZERO) <
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9637 2019-03-01 20:50 第一次作业指导书.md
文件 3478 2019-03-29 19:34 src\Main.java
文件 1518 2019-03-05 09:12 src\Poly.java
文件 3152 2019-03-05 17:25 src\StringChecker.java
目录 0 2019-03-29 19:34 src
----------- --------- ---------- ----- ----
17785 5
- 上一篇:基于Java打砖块小游戏
- 下一篇:Android模拟手机QQ登录和主界面.zip
相关资源
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
评论
共有 条评论