当前位置:首页 > 一元稀疏多项式简单计算器
else { item=item1;
i++;
} try{ if(item.getC()==0)//当得到项的系数为0时就没有必要加入 continue;
temp.getLinList().insert(temp.getLinList().size(),item); }catch(Exception e){}
}
//将没有参加比较的项加进去,注意比较之后 有且只有一个有多余的项 while(i temp.getLinList().insert(temp.getLinList().size(),item1); }catch(Exception e){} i++; } while(j temp.getLinList().insert(temp.getLinList().size(),item1); }catch(Exception e){} j++; } temp.getLinList().head.setElement(temp.getLinList().size());//设置项数 return temp; } public Polynomial subtraction(Polynomial other)throws Exception{//多项式相减 int n=other.getItemNum(); if(n==0) return this; Polynomial temp=new Polynomial(); LinList l=temp.getLinList(); for(int i=0;i 9 Item item =(Item)other.getLinList().getData(i); double c=-1*item.getC();//取反 l.insert(i,new Item(c,item.getE())); } l.head.setElement(n);//设置项数 return add(temp); } public double result(double x)throws Exception{ double sum=0; int n=getItemNum();//该多项式的项数 if(n==0) return 0; for(int i=0;i return sum; } } Test1类: import java.io.*; import java.util.Scanner; public class Test1 { Scanner scanner =new Scanner(System.in); public static void main(String[] args)throws Exception{ Test1 test1=new Test1(); Scanner scanner1 =new Scanner(System.in); while(true){ System.out.println(\请输入你要操作的系号:\\n\ \输出多项式\\n\ \多项式相加\\n\ \多项式相减\\n\ \计算多项式在x处的值\\n\ \退出\ String s=scanner1.next(); 10 int t=-1; try{ t=Integer.parseInt(s); }catch(Exception e){} switch(t){ case 1:test1.printPolynomial();break; case 2:test1.add();break; case 3:test1.subtraction();break; case 4:test1.resultOfPolynomia();break; case 5:System.exit(0);break; default:System.out.println(\你输入的操作有误,请重试\\n\ } } } private void printPolynomial()throws Exception{//选择1时 System.out.println(\请输入要输出的多项式的信息:\ Item[] item=creatItemShuZu(); Polynomial p=new Polynomial(item); p.printPolynomial(); } private void add()throws Exception{//选择2时 System.out.println(\请输入第一个多项式的信息:\ Item[] item1=creatItemShuZu(); Polynomial p1=new Polynomial(item1); System.out.println(\请输入第二个多项式的信息:\ Item[] item2=creatItemShuZu(); Polynomial p2=new Polynomial(item2); Polynomial p=p1.add(p2); System.out.print(\ p1.print(); System.out.print(\ p2.print(); System.out.print(\ p.print(); System.out.println(); 11 } private void subtraction()throws Exception{//选择3时 System.out.println(\请输入第一个多项式的信息:\ Item[] item1=creatItemShuZu(); Polynomial p1=new Polynomial(item1); System.out.println(\请输入第二个多项式的信息:\ Item[] item2=creatItemShuZu(); Polynomial p2=new Polynomial(item2); Polynomial p=p1.subtraction(p2); System.out.print(\ p1.print(); System.out.print(\ p2.print(); System.out.print(\ p.print(); System.out.println(); } private void resultOfPolynomia()throws Exception{//选择4时 System.out.println(\请输入要输出的多项式的信息:\ Item[] item=creatItemShuZu(); Polynomial p=new Polynomial(item); System.out.println(\请输入x=\ double x=scanner.nextDouble(); System.out.println(p.result(x)); } private Item[] creatItemShuZu()throws Exception{//构造多项式数组 System.out.print(\项数n=\ int n=scanner.nextInt(); double []c=new double[n]; int [] e=new int[n]; Item[] item=new Item[n]; System.out.print(\请输入各项的系数:\ for(int i=0;i c[i]=scanner.nextDouble(); System.out.print(\请输入各项的指数:\ 12
共分享92篇相关文档