(初学者Java)一元稀疏多项式计算器——Java版

一元稀疏多项式计算器——Java版

大二上学期结束了,数据结构老师让我们做一个一元稀疏计算器,网上的很多代码都是C语言的,我写了一个简单的Java版的,功能简陋,就是应付应付作业。

上代码

节点Node类

package internship;
//自定义的结点类
public class Node {
   
   
    public Node next;
    public float coefficient;
    public float index;
    public Node(float coefficient,float index){
   
   
        this.coefficient=coefficient;
        this.index=index;
    }
}

LinkList类

package internship;

import java.util.Scanner;

import static java.lang.System.out;

public class LinkList {
   
   
    private static Node headA;
    private static Node headB;
    private static Node headC;
    static LinkList linkList = new LinkList();

    public static void main(String[] args) {
   
   
        String Str;
        Scanner scanner = new Scanner(System.in);
        out.println("请输入第一个多项式,输入格式:系数(空格)指数 输入0 0结束");
        while (true) {
   
   
            Str = scanner.nextLine();
            String[] s1 = Str.split(" ");
            float a = Float.parseFloat(s1[0]);
            float b = Float.parseFloat(s1[1]);
            if (a == 0 && b == 0) {
   
   
                break;
            }
            linkList.addA(a, b);
        }
        out.println("请输入第二个多项式,输入格式:系数(空格)指数 输入0 0结束");
        while (true) {
   
   
            Str = scanner.nextLine();
            String[] s2 = Str.split(" ");
            float c = Float.parseFloat(s2[0]);
            float d = Float.parseFloat(s2[1]);
            if (c == 0 && d == 0) {
   
   
                break;
            }
            linkList.addB(c, d);
        }
        out.println("请选择运算方式");
        out.println("1. +");
        out.println("2. -");
        out.println("3. *");
        int choose = scanner.nextInt();
        switch (choose) {
   
   
            case 1:
                out.print("第一个多项式为:");
                linkList.show(headA);
                linkList.sort(headA);
                linkList.eliminate(headA);
                out.println();
                out.print("第二个多项式为:");
                linkList.show(headB);
                linkList.sort(headB);
                linkList.eliminate(headB);
                out.println();
                out.print("相加后多项式为:");
                linkList.addition();
                if (headA != null && headB != null)
                    linkList.show(headC);
                break;
            case 2:
                out.print("第一个多项式为:");
                linkList.
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值