Overloaded methods CAN declare new or broader checked exceptions. We know that FileNotFoundException is a subclass of IOException and according to the above statement an overloaded method cannot throw a narrower exception. But the below code does not throw a compiler error. How?
Animal.java
Java Code:
package pack1;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Animal{
public void drink(int s) throws IOException
{
Right, so I got this program. It takes input from the user and assigns it to fields on an object. But, it's meant to check the users input. If the user enters bad input, it's supposed to throw this exception. For each of these exceptions, theres a class specifically for it.
public class PayrollDemo { public static void main(String[] args) { Payroll pr = new Payroll ("Test Name", 234); System.out.println("Current Employee Information. "); System.out.println("Name: " + pr.getName()); System.out.println("ID: " + pr.getID()); System.out.println("Hourly Pay Rate: " + pr.getHourlyPayRate());
[Code] ....
And this is the exception class.
public class InvalidNameException extends Exception { /** No-arg constructor */ public InvalidNameException() { super("Invalid name"); } }
PayrollDemo.java:43: error: cannot find symbol InvalidNameException.InvalidNameException(); ^ symbol: method InvalidNameException() location: class InvalidNameException 1 error
It's just meant to tell the user that they entered an invalid value, which would mean if they entered an empty string instead of a name.
I came across a code where the exceptions can be thrown from catch and finally block too. I never gave a thought on what scenarios that can be required. Some practical examples when/where it can be required to throw the exception from catch and finally blocks.
I have a enum class which contains some string which i am comparing to a string i get from a user
Java Code:
public enum Compare { a, b, c, d, e, f } class SomeClass { String method(String letter){ Compare word= Compare.valueOf(letter); } } mh_sh_highlight_all('java');
Everything works fine but when I added a new word to it like "g" it throws the IllegalArgumentException ?
If I put the highlighted text in try/catch block it is throwing NullPointerException , if I am using command line arguments then also it is showing the same exception.
So I have re-written the code but it is still not running correctly. Any number i type in it throws an exception, also i need the program to add the totals that i type in and then once i type -1 into the prompt button list all the number i typed in and give me the average.
import java.awt.*; import java.awt.event.*; import javax.swing .*; import javax.swing.text.*; public class Averages extends JFrame { //construct components JLabel sortPrompt = new JLabel("Sort By:");
I've come across an interesting problem when using a Jcombobox as a custom cell editor(and renderer) in a jtable. I was hoping to add a keybinding in order to display the dropdown of the combobox instead of having to click on it however, when I make a call to showPopup() I get:
Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location Which is strange as my jtable is visible and the editor/renderer seems to be working fine.
Here's the cell editor + renderer I'm using:
class MyComboBoxRenderer extends JComboBox implements TableCellRenderer { public MyComboBoxRenderer(String[] items) { super(items); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (isSelected) { setForeground(table.getSelectionForeground());
I am trying to make a Applet and it works fine in Eclipse, but when I use it on the webserver I only obtain this Exception. It only happen when I make calls like this:
For some reason, even though I am giving it the correct number of arguments for the constructor to be initalized it doesn't go through. I end up with a compile error:
PatientBuilder.java:17: error:
constructor Patient in class Patient cannot be applied to given types; Patient aPatient = new Patient(bloodType, rhFactor, ID, age); ^ required: no arguments found: String,String,int,int reason: actual and formal argument lists differ in length
And I'm not understanding how that's possible when it calls for 2 strings and 2 ints and that's what I am passing.
I have this in my main method Scanner inputDevice = new Scanner(System.in);
System.out.println("What is the patients ID number?"); int ID = inputDevice.nextInt(); System.out.println("What is the patients age?"); int age = inputDevice.nextInt();
[Code] ....
And then here are my two constructors, one default and one overloaded.
public Patient() { patientBlood = new BloodData(); ID = 0; age = 0; bloodType = "O"; rhFactor = "+";
1. public void f(int i, long j){System.out.println("1");} 2. public void f(int...i){System.out.println("2");} 3. public void f(long l, long p){System.out.println("3");} 4. public void f(int j, int k){System.out.println("4");}
With the function call: f(1,2), the output is: 4.
My questions are the following:
a. Why is the compiler choosing #4 to execute and not the rest? b. If I remove 4 and replace it with: 5. public void f(long j, int k){System.out.println("5");}, why does the compiler now give an error complaining of ambiguous function defintions when 'f' is called?
Create a class named Commission that includes three variables: a double sales figure, a double commission rate, and an int commission rate. Create two overloaded methods named computeCommission (). The first method takes two double parameters representing sales and rate, multiplies them, and then displays the results. The second method takes two parameters: a double sales figure and an integer commission rate. This method must divide the commission rate figure by 100.0 before multiplying by the sales figure and displaying the commission. Supply appropriate values for the variables, and write a main () method that tests each overloaded method. Save the file as Commission.java
b. Add a third overloaded method to the Commission application you created in Exercise 1a. The third overloaded method takes a single parameter representing sales. When this method is called, the commission rate is assumed to be 7.5% and the results are displayed. To test this method, add an appropriate call in the Commission program's main () method. Save the application as Commission2.java
COMMISSION.JAVA
public class Commission { public static void main(String[] args) { double Sales = 10000; double commRate = 0.075; int rate = 7; computeCommission(Sales, commRate); computeCommission(Sales, rate); } public static void computeCommission(double Sales, double commRate)
I have a swing application that is using JFileChooser. When I click the Open menu item from File menu it should show the File dialog box where user can select the file.This application is running in my machine but encounters problem in another machine. File dialog box is not showing and stack trace shows that NullPointerException is thrown by JFileChooser..My machine is a 64 bit Windows 7 while the other machine is Windows 7 32 bit. Both machine are using java 1.6..To verify if its because of the 32-bit, I tried in another Windows 7 32-bit and the same application is working.
I came across this article [URL] .... which identified it as bug but already fix in 1.4.2_04. Though I am using 1.6, just to make sure I also tried the suggested work around.I put System.setProperty("swing.disableFileChooserSpeedFix", "true"); in my code but still not working...I also tried to add java -Dswing.disableFileChooserSpeedFix=true to the batch file that is launching the application and still not working
Code Sample:
import javax.swing.JFileChooser; import javax.swing.filechooser.FileNameExtensionFilter; public class FileChooserTester{ public Boolean loadMDBFile() { System.setProperty("swing.disableFileChooserSpeedFix", "true"); JFileChooser fc = new JFileChooser();
I am having some difficulties grasping the concept of throwing your own exceptions. How do I get this to repeatedly ask the user to enter a valid value for hours. Also i am having difficulties in the method with using the throw new InvalidHrExcep("That value is invalid"); i cannot get this to work.
public class exceptionProgram { static Scanner console = new Scanner(System.in); public static void main(String[] args) throws InvalidHrExcep { int day=0; int month = 0; int year=0; int hours=0; int minutes=0; int seconds=0;
class SubB{ public void foo(){ System.out.println(" x"); } } public class X extends SubB { public void foo() throws RuntimeException{ super.foo(); if(true) throw new RuntimeException(); System.out.println(" B"); } public static void main(String [] args){ new X().foo(); } }
Why the foo method of class X is not throwing a compile error because according to the override rule, if the superclass method has not declared exception, the subclass method can't declare a new exception...
I was giving a quick skim to some tutorials on the internet where I have found the exception that is handled is also declared in the throws clause of the method wrapping the try-catch block. For a code representation consider the following:
public void methodName() throws IOException { try { ... } catch (IOException ex) { .... TODO handle exception }
I have a program which runs perfectly fine in Eclipse. however, the same program after exporting to jar in desktop and then executing in cmd gives exception.
why is this difference.
in eclipse. it is built up 1.6 JDK and run using 1.6 JRE.
in CMD, it runs by 1.7 JRE.
can this JRE version make a difference. Technically should not i believe.
value1 = text1.getText(); value2 = text2.getText(); Connect c = new Connect(value1,value2); if(c.check()== true) { Menu start = new Menu(c.getID()); dispose();
[code].....
I get an error "unreported exception java.SQLException; must be caught or declared to be thrown" how can i solve this I have taken a few basic classes but never got to exceptions.
I want to encrypt and decrypt a txt file by using PGP.I completed my PGP Encryption.I'm getting an error in PGP Decryption. The error msg as follows
Quote:
Exception in thread "main" java.lang.IllegalArgumentException: Invalid PGP message at com.newpackage.bouncy.PGPUtils.getDataList(PGPUtil s.java:502) at com.newpackage.bouncy.PGPUtils.decryptFile(PGPUtil s.java:198) at com.newpackage.bouncy.PGPFileProcessor.decrypt(PGP FileProcessor.java:56) at com.newpackage.bouncy.Tester.testDecrypt(Tester.ja va:46) at com.newpackage.bouncy.Tester.main(Tester.java:61)
I am getting this error in the following line of my code.
PGPObjectFactory factory=new PGPObjectFactory(PGPUtil.getDecoderStream(is)); =>> Object obj=factory.nextObject();//here i am getting obj as null if (obj == null) { //System.out.println("Invalid PGP Message"); //System.exit(0);
So I've been working on this program to make tournament matches for beach volley.
First little info: (I'm Belgian so some words are Dutch) -Class Speler: has arraylist with information with which player already has been played (codesLijst) -Class Inschrijvingen: makes players sign up with their level and name -Class Wedstrijd: makes matches, checks with Inschrijvingen if the players already have played together. If so, gives message that they need to change partner. If not, makes them a team.
Now if I run the program with fresh players, none of them have had a partner, it works fine. If I make just one new team and the other already exists, it also works fine. It's when I make the two teams with existing records (to see whether they already played together), that the error comes.I know there's a lot of code duplicate, will clear out eventually, this is just a raw version.
CLASS SPELER
import java.util.ArrayList; public class Speler { private Wedstrijden wedstrijd; private Inschrijvingen inschrijving; private String naam, ploeg; private int setPunten, winPunten; private long time; private String code; private ArrayList<String> lijstCodes = new ArrayList<String>();
public static void main(String[] args) { float y = 7 * i; } }
It gives : Exception in thread "main" java.lang.NullPointerException : Line 5...Why is it giving NPE? Isnt the variable defaulted with 0.0f? Also, I am not performing any dot operation, it's just a multiplication operation.
i rewrote this code from head first java book . but every time i try to compile it it gives me this exception
java.lang.ExceptionInInitializerError Caused by: java.lang.RuntimeException: Uncompilable source code - simpleFrame is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener at simpleFrame.<clinit>(simpleFrame.java:6)
how can i instantiate simpleFrame class if i shoild make it abstract?
public class simpleFrame implements ActionListener{ JFrame f; public static void main(String[] args){ simpleFrame s = new simpleFrame();
I have written two methods called "contains" and "overlaps". The method "contains" is to detemine whether a point (x, y coordinate) is within the surface area of a square object. The location of the square objects is determined by the location of the upper left corner of the square.The method "overlaps" is to determine whether two square objects overlap each other.
I have written these as two separate methods. However I want to change the method "overlaps", so that it uses the method "contains" within it. I.e. using a method within a method. Thereby hopefully making the "overlaps" method a bit more clear and easy to read.
Java Code:
/** Returns true of the point with the coordinates x,y, are within the square. */ public boolean contains(int x, int y){ int sx = location.getX(); //"location" refers to a square object int sy = location.getY(); // getX() and getY() are to find it's coordinates // "side" is the side length of the square if (x >= sx && x <= (sx + side) && y >= sy && y <= (sy + side)){