Skip to content

XMK233/Polymonial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

#ReadMe使用说明 ##在使用本程序之前,请仔细阅读本说明
一. 程序简介

本程序用java写成。运用了如下编程方法:

  1. 能运行的程序的代码是ComputePoly4.java。
  2. 面向对象的编程方法。
  3. 除了常规的数组之外还包括Java中的一些特色数据结构。
  4. 大量运用正则表达式。
  5. 输入采用流输入,可以用键盘即时输入。

二. 程序功能

模拟一元多项式的加减。{(c1,n1),(c2,n2),…,()}+{…}-{…}: 每个多项式以’{’和’}’来分割;多项式中的每个项以’(‘和’)’分割,多项式之间只能是出现’+’(表示相加)和’-’(表示相减)。任何空格都将被程序自动识别和过滤掉。每个合法项的幂都是非负整数,且系数不能为0。每一个多项式的前面都可以有且仅有一个正负符号。测试中系数最大不超过8位整数整数,幂不超过6位整数

三. 输入规范

输入仅有一行,由[ 0-9 + - , ( ) { } ]和空格组成(不包括方括号),行末可能存在回车,输入长度无限制,但要求手工输入而不是文件读入。正确的输入由若干多项式及其之前或两者之间的一个正负号还有若干空格组成,相邻两个多项式之间有且仅有一个‘+’或‘-’,第一个多项式之前可能存在正负号(若有,则仅有一个),每个多项式的任意两个数对的n都不相同。一个多项式形如{(c1,n1),(c2,n2),…,(cm,nm)},最外端由花括号包含,内部是若干由括号引起的数对,括号之间由一个逗号‘,’分隔,两个数之间也由一个‘,’分隔。对于数对(c,n),c为系数,n为幂,-10^8<c<10^8, 0<=n<10^6,即c最大为8位十进制整数,n最大为6位十进制整数。所有数均可能出现前导0,但c和n除去符号位之外的长度分别不超过8和6。注意,所有空格应该被直接忽略。 特别强调一点,测试时多项式的项的系数不能为零。否则没有意义。还有一点,请尽量不要输入阶相同的项,这种操作虽不影响结果的正确性但不规范。

四. 输出规范及声明

如果输入的是格式正确的多项式(组),那么就会得到正确的计算结果。 如果输入的不符合输入规范,就会返回一个错误提示。错误有以下几类:非法字符,格式有误,括号不匹配,阶为负,数字过长,没有数字不可计算(空多项式)。格式错误泛指一切以不符合规定格式的输入,其他的都如字面上所说。以上五种错误如果同时出现多个,那么他们有一定的先后次序。这五种错误都是输入不规范的结果,狭义上讲都是格式错误,但是本程序另外提供了五种具体的错误的参考。本程序不能返回出错的位置和次数,只能返回出现了某个错误。 值得注意的是,如果里面出现了括号不匹配,同时会返回格式错误;输入空多项式,会同时返回格式错误和没有数字错误;阶数为负会同时出现格式错误和阶数为负;不合法字符和格式错误会同时出现。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages