When To Initialize A String Null And When Not
Sep 22, 2014Trying to make me understand when to initialize a string 'null' and when not..??
View RepliesTrying to make me understand when to initialize a string 'null' and when not..??
View Repliesstatic public String populateVehicleDetails(Vehicle vehicle){
String returnString = new String()
String existingString = "Chevy Uplander "
String nl = "
"
returnString.concat(existingString+nl).
concat("Color: "+ vehicle.color + nl)
return returnString
}
In the case that vehicle.color is null what will happens? A null pointer error?
null will be concatenated to the string in vehicle.color place? or will not concatenate anything in the place of vehicle.color I'm asking that because I do not know if I have to check for null in each property of vehicle that I must concatenate (there are a lot of properties in the Vehicle object and some may not been set (they will return null).
I've been beavering away with Java for a few months. But as with all languages the String implementation looks designed to trip up even experienced programmers.
My current development gets data from various sources outside my control. When I get a string I want to test if it is empty/null/or whatever. Simple enough one thinks.
But if you search the internet you see everone seems to have a slightly different approach. So what is the best way of determining that a string is not useful to you?
I've had success with this
if(string == null || string.length() == 0)
But I've seen people using methods - not necessarily of String (e.g equals, empty) and regular expressions.
What is the best approach to this considering coding efficiency and/or processing efficiency (accepting you'd have to be processing a lot of strings for the latter to be an issue).
In Java is there a method which I can use to compare two Strings where in if both the values are null, they should be considered as equal?
View Replies View RelatedI have table data I'm trying to read . However one column is populated with the word "null". I guess java does not like dealing with the word null and throws errors.
When I try a block like : if ( rsrow.getString(insCol) = "null") {
I get and error .
If I try :
cmp = rsrow.getString(insCol);If I try:If I try:
if (cmp = "null") {
I get an error
If I try to use a replace function like:
System.out.println(cmp.replace("null", "0"));
Just to see if replace works I get and error.
What is the BEST way to replace this string value with something like "0" when I come across it with out jave throwing an error? I want it such that every time I come across the word "null" I can repalce it with "0".
Something like:
if (rsrow.getString(insCol) = "null") {rowofdata = rowofdata + "'0',"; } else {rowofdata = rowofdata + "'" + rsrow.getString(insCol) + "',";}
I've a vertical-bar-delimited file where most elements contain text, some contain whitespace, and some are empty. Examples:
62RG|fe|Pencil Financial Group, LLC||doug@pencil.com|||85637889|Cross, Ben|bcross@godaddy.net|Bernard|Cross|Ben||315 One Tree Hill Terrace|Lafayette|LA
62RG|fe|Pencil Financial Group, LLC||tracy@pencil.com|||13658734|Dustin Cardwright|dcart@motorola.com|Dustin|Cartwright|||| |LA
which I parse and store with
String str_arry = innline.split( "|", 17);
lisst.add( new Contact( str_arry));
and my Contact class has the constructor
public Contact( String[] str_arry) {
for( int ii = 0 ; ii < str_arry.length ; ii++ ) {
if( str_arry[ii].matches("^s+$")) {
str_arry[ii] = null;
System.out.println("hit a null");
[Code]...
I expect the for-loop in the constructor to find any elements containing whitespace characters and set them to null for subsequent assignment.And when the code runs I do see some hit-statements pop up, so the detecting part is working.
But when I then process the list and access a Contact object and test fields for nulls I don't find any ie
if( aContactObj.getfFCity() == null) System.out.println("city is null");
never prints when it should.
What's the trick? Or is my approach wrong and if so what should it be?
I am trying to parse a XML string into `org.w3c.dom.Document` object.
I have looked at solutions provided [here](xml - How to convert String to DOM Document object in java? - Stack Overflow), [here](How to create a XML object from String in Java? - Stack Overflow) and a few other blogs that give a variation of the same solution. But the `Document` object's #Document variable is always null and nothing gets parsed.
Here is the XML
XMLMappingValidator v = new XMLMappingValidator("<?xml version="1.0" encoding="utf-8"?>
" +
"<mapping>
" +
"<container>
" +
"<source-container>c:stem.csv</source-container>
[Code] ....
When I call
**v.getXML().toString()**
I get
`[#document: null]`
Clearly, the parse is failing. But I don't understand why.
I am trying to parse a XML string into `org.w3c.dom.Document` object.
I have looked at solutions provided [here](xml - How to convert String to DOM Document object in java? - Stack Overflow), [here](How to create a XML object from String in Java? - Stack Overflow) and a few other blogs that give a variation of the same solution. But the `Document` object's #Document variable is always null and nothing gets parsed.
Here is the XML
Java Code:
XMLMappingValidator v = new XMLMappingValidator("<?xml version="1.0" encoding="utf-8"?>
" +
"<mapping>
" +
"<container>
" +
"<source-container>c:stem.csv</source-container>
[Code] .....
When I call Java Code: **v.getXML().toString()** mh_sh_highlight_all('java');
I get Java Code: `[#document: null]` mh_sh_highlight_all('java');
Clearly, the parse is failing. But I don't understand why.
Question 1: I am working on an assignment where I have to remove an item from a String array (see code below). When I try to remove an item after entering it I get the following error "java.lang.NullPointerException." I am not sure how to correct this error.
Question 2: In addition, I am having trouble figuring out how to count the number of occurrences of each string in the array and print the counts. I've been looking at other posts but they are more advanced and I have not yet learned how to use some of the tools they are referring to.
private void removeFlower(String flowerPack[]) {
// TODO: Remove a flower that is specified by the user
Scanner input=new Scanner(System.in);
System.out.println();
System.out.println("Please enter the name of the flower you would like to remove:
[Code] ....
I'm getting an error on line 137 and all it is rsmd = rs.getMetaData();The error happens only after I press a JButton and it is
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerExceptionat softwareDesign.createAccount.actionPerformed(createAccount.java:137)
There is a lot more to it but that has nothing to do with my code it's just the stuff with Eclipse anyway I want to know how do I fix this problem?
public class Test {
public static void main(String[] args) {
Car c = new Car();
c.setInf("toyota", "red");
System.out.println("name: "+ c.brand + " colour: " + c.colour);
[code]....
Why do I get the result brand null, colour null? I know what null means but what am I missing here?
I'm working on a program where the user inputs song information (name, artist, filesize, duration) which is stored in a database. Once the user adds a song, the details should be stored in the first empty song slot (4 song slots total) and then taken back to the menu interface.
What I'm having trouble with is that I can add the first song fine (song1), but when I try to add another song, the information entered into song1 is gone. I've worked out that this is because every time I call upon the addNewSong() method, I'm creating four Song objects that are brand new with the line:
Song song1 = new Song();
Song song2 = new Song();
Song song3 = new Song();
Song song4 = new Song();
How to fix this problem is where I'm stuck because if I move these lines elsewhere, I get a 'cannot find symbol - variable song1' error.
Here is my code:
public class SongDatabase {
Scanner console = new Scanner(System.in);
public void addNewSong() {
Song song1 = new Song();
Song song2 = new Song();
Song song3 = new Song();
Song song4 = new Song();
if (song1.isEmpty()) {
[code]....
What's up with this. Just trying to test my hands on java packages, and had this error(by java) after successful compilation:
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working directory.
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(System.java :1119)
Main.java
package com.aceix.simplecalc;
import com.aceix.simplecalc.inputhandler.InputHandler;
import com.aceix.simplecalc.mathoperation.MathOperation;
public class Main {
public static void main(String[] args) {
[Code] ....
Any suitable way to accept input from console.
Write a program to input a person''s age and salary, if the age is over 32, add $100 if otherwise subtract $500 from salary, finally output the age and new salary here is my code. I am getting a red line underneath the word 'salary' and i would like to know why and why i have to initialize it. and this is what i have tried.
</Scanner scan = new Scanner (System.in);/>
</int age, sum, difference, old_salary, new_salary, salary;/>
</System.out.println("Please enter the person age");/>
</age = scan.nextInt();/>
[code]....
initialize the min and max to be the first numbers entered, need to improve the code, because if the number entered is < 0 there is an error. but i dont understand how i would initialize to the first number entered, my understanding is tha if the user enters a 5 , then i should initialize to value 5, but i cant anticipate what the user will enter. I could initializa to null, but that still is not the first number entered.
int min = 0;
int max = 0;
int option = JOptionPane.YES_OPTION;
while ( option == JOptionPane.YES_OPTION){
[code]....
The problem is to figure out the number of cartons needed to box up the strawberries picked by the farmer and his wife. The farmer picks 8.4 lbs per hour and the wife pick 10.8 pounds per hour. They pick from 8 am until 4Pm (8 hours). You can put 20 pounds per box.I understand the word problem and how to declare and initialize variables. I'm just confused how to display the math into java to solve it.
View Replies View RelatedI tried this:
String[][]f = new String[1][1] {{"Harry"}{"Hairy"}};
I also tried this:
String[][]f = new String[1][1] {{"Harry"},{"Hairy"}};
but I get an error
I'm making a card game and have a class I used to assign all my card variables.
However, it's giving me multiple errors and I can't seem to be able to access the variables from my other classes.
Java Code:
package com.summoners.Screen;
class Cards {
public static String[] names;
name = new String[1000];
atk = new int[1000];
[Code] .....
Write a program to initialize and display variable size array.
View Replies View RelatedAfter this problem is fixed, my math game will run. The answer variable is supposed to be equal to the cases in the second switch statement by random but I get errors whenever I try to initialize it this way. I have been writing this program for almost 5 days now and it is finally wrapping up. Why I can't map the answer variable to the second switch statement the way I want to?
package pkgnew;
import java.util.Scanner;
import java.util.Random;
public class New {
public static void main(String args[]) {
//Declare and construct variables
Random randomnum = new Random();
int fnum, snum, answer;
[Code] .....
I'm trying to make an array of objects, which I then initialize using objects that I have already created. I have main class, a secondary "Other" class, and a third "Other2" class. In the first Other class, I create three objects of the Other2 class, an object array of the type Other2 , and I then try to add the three objects to the object array, which results in the errors:cannot find symbol: class objectArray, ] expected, identifier expected
here is my code:
Other class
public class Other
{
Other2 object1 = new Other2();
Other2 object2 = new Other2();
Other2 object3 = new Other2();
[code]....
Write a program OutCircle.java that declares and initializes three floating-point variables (r, x, y): the first variable represents the radius r of a circle centered at (0,0) and the second and third variables are the coordinates (x, y) of a point in the plane.Your program should print true if the point is outside the circle and false otherwise. Hint: A point is outside the circle when its distance to the center is greater than the radius.
View Replies View RelatedI am trying to use a custom listener to initialize database connection pool (C3P0) on start up and then destroy on context shut down. The reason for that is that I whenever context is shutdown I have a memory leak because initialized connection pool is not being destroyed.
I have a static class called C3P0Utils that deals with connection pool. In my listener in contextInitialized method I have tried at first to init the pool like this :
+public void contextInitialized(ServletContextEvent sce) {+
+try {+
C3P0Utils.newInstance().init();
+} catch (PropertyVetoException ex) {+
Logger.getLogger(DatabaseInit.class.getName()).log(Level.SEVERE, null, ex);
+}+
+}+
I know that object is created. I checked it using jconsole. However it is not accessible with in the application. My second attempt was to regester the pool and then add it to the context and then when I need it read from there.
+public void contextInitialized(ServletContextEvent sce) {+
+try {+
ServletContext ctx=sce.getServletContext();
C3P0Utils.newInstance().init();
ctx.setAttribute("myDataSource", C3P0Utils.newInstance().getDataSource());
+} catch (PropertyVetoException ex) {+
Logger.getLogger(DatabaseInit.class.getName()).log(Level.SEVERE, null, ex);
+}+
+}+
However when I try to red from the context I get nothing. I try to read like this.
+(ComboPooledDataSource)ctx.getAttribute("myDataSource")+
When I print names of all of the attributes in the context I get these attributes.
Context Name
org.apache.tomcat.InstanceManager
org.apache.catalina.jsp_classpath
javax.servlet.context.tempdir
org.apache.catalina.resources
+org.apache.tomcat.JarScanner
+org.apache.jasper.compiler.TldLocationsCache
+org.springframework.web.context.WebApplicationContext.ROOT
Why I can not use anything initialized in the listener.
The value is: ${object1.property1} If the value of the property is null, I want "null" to be printed, like this:
The value is: null But I get an empty string, like: The value is:
I know I can use a ternary operator, but isn't there a simpler/shorter solution? A function (like NVL() in SQL)?
The value is: ${empty object1.property1 ? "null" : object1.property1 }
Not only is this long, but the value expression is typed twice, which is a magnet for bugs.
So I'm trying to add two numbers using a stack class I made myself. I have a main class with a main method in which I use three stacks on holds one number one holds the other and then I sum one digit at a time keeping in midn that there may be a carry before putting the result on a third stack.
My problem is I'm getting a null pointer error when it should be putting an integer into the top of my stack which is index 0, I've checked my code and can't see why it would be doing this.This is my main method in my main class
import java.util.*;
import java.io.*;
public class CS25driver {
public static void main(String[]args) throws FileNotFoundException {
[code]...
my input file looks like a single line of input stating the problem followed by two lines of input which need to be summed.this is the error I'm getting
Exception in thread "main" java.lang.NullPointerException
at StackClass.push(StackClass.java:38)
at CS25driver.main(CS25driver.java:55)
I've a JPanel declared as a field in a JFrame:
public static javax.swing.JPanel pane;
I initialize it in a method (Well, Netbeans' GUI builder does. :P)
pane = new javax.swing.JPanel(){
@Override
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.drawArc(8, 6, 15, 15, 0, 90); /* This works. The panel and frame are displayed, the arc is drawn, &c. */
}
};
it works and all; the arc is drawn.I want to draw on it dynamically by instantiating its Graphics (I call the "public Graphics getGraphics()" method.). This has worked for me before, taking a JPanel's Graphics and drawing with it through a different method than public void paint(Graphics g); But when I do, it comes up with a NullPointerException. WAIT! Don't go rambling on about initializing the variable because I've gotten past that NPE newbie's blockade.public static void render(Something s) { /*This is in a different file altogether. pane is public, static so I can access it from here. That's not the problem.*/
JPanel jp = Frame.pane;
Graphics g = jp.getGraphics();
g.fillRect(s.x, s.y, 4, 4);
}
Upon further investigation:
Exception in thread "main" java.lang.NullPointerException
at physics.Renderer.render(Renderer.java:30) <-- This line is "JPanel jp = Frame.pane;"
at physics.Renderer.renderall(Renderer.java:24) <--This line calls public static void render(Something s)
at physics.Updater.update(Updater.java:47) <--Renderer is just a tool used by the Updater. Sounds like a game loop, right?
at physics.Physics.main(Physics.java:31) <-- The game loop.
it says that Line 30, making jp and pointing it to pane itself is the problem.
Conclusion:
-The JPanel in the JFrame is created, initialized and overrides a parent method.
-The JPanel is not initialized, meaning that it is null. There is obviously a problem.