I have an object that may contain several other objects (sub-object) and will compress those sub-objects.
My question is generally what is a good way to compare two objects, as described above, if they are equal (e.g. through equals() function)?
Intuitively there are two ways I can think of: 1. Compare each compressed bit
The disadvantage I think is it's not efficient if the object is very big. For instance, when it holds several gigabytes data, it may took too long for just comparing each bit.
2. Hash the sub-object before compressing it, and then compare all hashed values. This problem is I am not very sure if hashing is a good way to compare objects. And if collision may be the problem?
I have a JScrollPane with two coulmns. In the first column I have an image pane JTable, and in the second a list with names of sections. This second column I try to divide in two columns, one (the second column) to display the names of the sections (each row contains one name), and in the other column (the third) I want to show some values for every section in the row respectively. But, instead of displaying the desired values in the third column, I get the same names of the sections as in the second column. Here is a part of the code I have:
private Vector<Section>daten = new Vector<Section>(0); //These are the values for the first column in the Jscroll private String[] header = {"Section","calcGYR"}; // These are the values for the second and third column (in this case the header for the both columns public TrafficObserveModel(Vector<Section> daten) { setData(daten);
[code]....
But I don't know how to modify the methods in order to render the desired integer values in the third column.
I have an assignment that wants me to write a Java function based on induction to determine how many numbers in an array have a value greater than, or equal to, 100.
I have started with:
Java Code:
int recurseHundred (int [] A, int n) { //n is the number of elements in the array. //Base case: if (n == 1 && n >= 100) return A[0]; //Recurse int num = recurseHundred(A, n-1); if (n-1 >= 100) return A[n-1]; else return num; } mh_sh_highlight_all('java');
I read this tutorial about overriding equal and hashcode method. [URL] ....
I understand how to override equal method, by overriding it, We can custom our compare. I also understand How to override hashcode, To make custom hash.
But still I can not understand why we do it? why if equal method override, we must override hashcode method too?If we don't what is the problem?
To honor the above contract we should always override hashCode() method whenever we override equals() method. If not, what will happen? If we use hashtables in our application, it will not behave as expected. As the hashCode is used in determining the equality of values stored, it will not return the right corresponding value for a key.
Is it the right reason in order to override:
Because when we customize equal method so it focus on special variables,We must change the hash code too in order to match with it, so hashcode also focus on those special variable.
I am working on an assignment covering exception handling and am stuck on part of the assignment. How can you test for array length = 0?
When I try something like: if (array.length == 0) on a null array, naturally I get a NullPointerException. I would try something like if (array != null) but both array length of 0 and null array are supposed to throw different expressions.
i know that int [][] x = new int[2][2] will generate a 2x2 array but I'm looking at a certification mock question and I see double [][] da = new double [3][]. What is the empty [] on the right hand side of the equal sign trying to tell me? Is there some default value?
I'm suppose to create a program that will check if one statement is equal to another but it doesnt display the message if its equal to the inputted String
import java.util.Scanner;
public class sup { public static void main (String args[]) { Scanner in = new Scanner (System.in); String one;
[code]...
thats just an example I was able to do it in C++ but it doesnt do what I want in Java
I would like to create a program that takes some files and modifies them in this way: The files should contain text formatted in this way:
############## #various comments# ############## something{ identifier=1234 anotherIdentifier=1235 anotherOne=12345 //and so on... }//I need only this
#Comments are sometimes made this way
somethingAgain{ #comments that explains what's below them I:dentifier:something, I, do, not, need #see ^that A:notherIdentifier:boolean //and so on.. }
And I have to make so that the numbers contained in something{} in all the files don't match. I could ask to make so that the input file is only one, and it is formatted this way:
identifier=1234 anotherIdentifier=1235 anotherOne=12345 //and so on...
but I don't know how to do the rest of the program... That's what I've done (the names of the classes, package etc. are in Italian and there's some useless code that NetBeans prevents me from deleting):
package confronto; import java.awt.Color; import java.io.*; import javax.swing.*; public class confrontoTesti extends javax.swing.JFrame {
I need comparing two array lists. For this program i am comparing 2 array lists. The list is integers entered by the user the second is random generated numbers. So far in my program i am able to compare the 2 arrays together and output if they are equal or not however i need the program to output even if atleast one if the integers match,
EXAMPLE list one: 1, 2 ,3 ,4, 5. LIST TWO: 1, 3, 3, 3, 3.
Since the first number matches i want it to out put there is one match, so on and so forth with if there are 3 or 4 matching integers. here is my code so far.
public static void main(String[] args) { final int NbrsEntered = 5; //Number of guessed numbers entered final int LOTTOnbr = 5; int[] numbers = new int[NbrsEntered]; int[] randomNum = new int[LOTTOnbr]; //int[] TestArrayOne = { 1, 2, 3, 4, 5 }; //int[] TestArrayTwo = { 1, 2, 3, 3, 5 }; boolean arraysEqual = true; int index = 0;
Write java program using table that stores celsius and farenheit values that are equal to one another using a loop. use C 0-20 and convert to farenheit.
I have to use doubles for Celsius and Fahrenheit and in the formula. I get a runtime error with the following displayed:
I will display a table of temperatures in their Celsius and Farenheit equivalents.
celsiusfarenheit
import java.util.*; import java.lang.*; import java.io.*; class TemperatureConversion { public static void main (String[] args) throws java.lang.Exception { double celsius;// Temperature in degrees Celsius minimum double farenheit;// Temperature in degrees Fahrenheit
public static void main(String[]args) { Scanner input = new Scanner(System.in); System.out.print("Type your text: "); String text = input.nextLine(); int counter = text.length(); if(text.length()> 16)
[Code] ....
And input is: abcdefghijklm
output is:
Java Code:
a b c d e f g h i j k l m x x x mh_sh_highlight_all('java');
So all i want is, if i type: abcdefghijklm
I want this output:
Java Code:
a e i m b f j x c g k x d h l x mh_sh_highlight_all('java');
when we create another variable and set it equal to the first : Car c2 = c1;
we're pointing c2 at the same car object that c1 points to (as opposed to pointing c2 at c1, which in turn points at the car). So if we have code like,
Car c1 = new Car(); Car[] cA = {c1, c1, c1, c1};
are we doing the same? Are we creating four *new* reference variables, each of which points at the same car (again as opposed to pointing them at c1 itself)? I think so, but want to make sure I'm understanding this correctly.
Create an equals method that takes an object reference and returns true if the given object equals this object.
Hint: You'll need 'instanceof' and cast to a (Geocache)
So far I have:
public boolean equals(Object O){ if(O instanceof Geocache){ Geocache j=(Geocache) O; if (this.equals(j)) //I know this is wrong... but I can't figure it out return true; }
else return false; }
I think I have it correct up to the casting but I don't understand what I'm suppose to do with the this.equals(). Also I'm getting an error that I'm not returning a boolean... I get this all the time in other problems. I don't get why since I have to instances of returning booleans in this. "returns true if the given object equals this object" makes no sense to me. I assume the given object, in my case, is 'O'. What is 'this' object referring to?
Here are two codes that I am using but I have one that just doesn't work for some reason and the other does. Encode doesn't work. I don't need the Character.isAlphabetic for encode but not sure what I can use with 'if' to set the String encodedString.
I have been playing around with a snippet I wrote to get the Label on a drive (below). It works fine for me (though I will take any constructive criticism). My question is whether the is a way to set the drive label, purely with Java. I know I could call command line, or even resort to using the Windows API
I tried using this since the jSpinner's minimum value is 1.. (I want it to reset the jSpinner after updating the database):
jSpinner1.setValue(new Integer(1));
But gives me an error:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Vector.elementData(Vector.java:730) at java.util.Vector.elementAt(Vector.java:473) at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:649) at shop.jSpinner1StateChanged(shop.java:267) at shop.access$100(shop.java:22) at shop$3.stateChanged(shop.java:145) at javax.swing.JSpinner.fireStateChanged(JSpinner.java:457)
JFrame{ JPanel(That MenuBar at the top) JPanel(That panel at center with table){ JScrollPane{ JTable } } }
I want to add my custom image to that grey space right there. I guess it is a JScrollPane, because I added that orange background on JPanel that contains it. But when I add this code to my custom class of JScrollPane:
@Override public void paintComponent(Graphics g) { super.paintComponent(g); if(background == null){ background = new ImageIcon(ClassLoader.getSystemResource("tableBg.png")).getImage(); } g.drawImage(background, 0, 0, null); }
The result is the same, no changes.
Then I read some documentation. I found this method:
scrollPane.getViewport().setBackground(Color c);
It works, but it accepts only color and I want to add image. Is there any way to do that? Do I need to subclass JViewport and use paintComponent ? If yes, then how to make getViewport() method return my custom subclassed version?
I have a PDF file and I have a text file that contains this data. It has the name of a PDF field along with a database table column name.
Text file: pdfFieldEmployee=Employee; pdfFieldStartDate=StartDate; pdfFieldSalary=Salary; pdfFieldExempt=Exempt
I also have this hash map that contains the database table column names along with their corresponding values:
Employee, Don Parker StartDate, 5/6/2000 Salary, $55000 Exempt, N
How would I read through the text file and the hash map and at the same time do this:
if the pdf field is equal to pdfFieldEmployee, then set pdfFieldEmployee equal to Don Parker. if the pdf field is equal to pdfFieldStartDate, then set pdfFieldStartDate equal to 5/6/2000.
and so on and so on. I would prefer to do this with a loop because I think it would take less code than writing a bunch of if statements.
This is my frame class, now I want to be able to change the name of the frame, and get the name with frame.getName() in another class. But I'm not sure how to do this, i tried making a new frame in that class but i feel it's just another frame and not the one i made, also tried something like