Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Need help with my program

$
0
0
When I run it I get:

java.lang.NullPointerException
at Packages.toString(Packages.java:78)
at java.lang.String.valueOf(String.java:2854)
at java.io.PrintStream.println(PrintStream.java:821)
at TestPackages.main(TestPackages.java:10)

Nothing outputs. For somereason it points to TestPackages class and
public String toString()
    {
       String s = "ALL PACKETS \n";
       for(Packet mypacket : shipment)
            s += mypacket;
       return s;
    }



Any help would be super!

public class Packet extends Packages
{
    // instance variables - replace the example below with your own
    public int idNumber;
    public String state;
    public double weight;
    
    public Packet(int id, String s, double d)
    {
        this.idNumber = id;
        this.state = s;
        this.weight = d;
    }
    
    public boolean isHeavy()
    {
        if (weight > 12)
            return true;
        else
            return false;
    }
    
    public boolean isLight()
    {
        if (weight < 7)
            return true;
        else
            return false;
    }

    public String toString()
    {
        String s = "ID: " + idNumber + "\t" + "Weight: " + weight + "\t" + "State: " + state;
        return s;
    }
}



import java.util.ArrayList;
import java.util.Scanner;
import java.io.*;

public class Packages
{
    double totalWeight;
    public ArrayList<Packet> shipment;
    
    public void Packages () throws IOException
    {
        totalWeight = 0.0;
        shipment = new ArrayList<Packet>();
        Scanner fileScan;
 
        fileScan = new Scanner (new File("allPackets.txt"));
        // Read and process each line in the file
        while (fileScan.hasNext())
        {
            int id = fileScan.nextInt();
            String s = fileScan.next();
            double d = fileScan.nextDouble();
            
            Packet p = new Packet (id, s, d);
            shipment.add(p);
        }
        System.out.println(shipment);        
    }
    
    public void displayLightPackages()
    {
        System.out.println("ALL LIGHT PACKAGES \n");
        for(Packet mypacket : shipment)
            if (mypacket.isLight())
                System.out.println(mypacket);
    }
    
    public void displayHeavyPackages()
    {
        System.out.println("ALL HEAVY PACKETS \n");
        for(Packet mypacket : shipment)
            if (mypacket.isHeavy())
                System.out.println(mypacket);
    }
    
    public void displayOtherPackages()
    {
        for(Packet mypacket : shipment)
            if(mypacket.isHeavy() || mypacket.isLight())
                System.out.println("ALL REGULAR PACKETS \n");
            else
                System.out.println(mypacket);  
    }
    
    public void displayTotalWeight()
    {
        for(Packet mypacket : shipment)
            totalWeight += mypacket.weight;
            System.out.println ("Total weight of all packets is " + totalWeight);
    }
    
    public void displayAverageWeight()
    {
        for(Packet mypacket : shipment)
        {
            totalWeight = shipment.size();
        }
        System.out.println("Average weight of all packets is " + totalWeight);
    }
    
    public String toString()
    {
       String s = "ALL PACKETS \n";
       for(Packet mypacket : shipment)
            s += mypacket;
       return s;
    }
}



public class TestPackages
{
    public static void main(String[] args)
    {
        Packages mypacket = new Packages();
        System.out.println(mypacket);
    }
}


Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>