资源简介
输入中,包含且仅包含一行,表示一个表达式。
关于输出,首先程序需要对输入数据的合法性进行判定
- 如果是一组合法的输入数据(即符合上述的表达式基本规则),则应当输出一行,表示求出的导函数。格式同样需要满足上述的表达式基本格式规则。
- 如果是一组不合法的输入数据,则应当输出一行`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打砖块小游戏
- 模拟龟兔赛跑程序
- javax.annotation-api-1.3.jar
- Java+mysql通讯录信息的增删改查
- Java 2实用教程第五版张跃平例题代码
- Java图形用户界面的简易计算器
- jsoup-1.7.3.jar
- java实现docx文档在线编辑docx转html,
- 超市进销存管理系统-学校实训
- 成绩的查询和排序功能实现 java实现
- 山东大学 大数据实验二 倒排索引算法
- java版本贪吃蛇
- shiro-all-1.4.0.jar
- 图书管理系统数据持久化
- 《Java程序性能优化:让你的Java程序更
- java制作工作证和调用斑马打印.rar
- java udp多人聊天室
-
org.springfr
amework.context-3.2.2.RELEASE.j - java下通过ajax调用Echarts案例
- java与plc通讯
- java开发的rpg游戏
- java任务管理系统
- 用Java中Swing实现满天星源码+文档
- java学生信息管理系统源代码
- JAVA时间工具类计算法定工作日工时等
- java开发走迷宫可视化源码程序
- Floyd算法-java实现
- java面向对象程序设计答案
- java课设-保存计算过程的计算器代码
- Java实验报告(房屋销售管理信息系统
评论
共有 条评论