Note that there are some explanatory texts on larger screens.

plurals
  1. POI keep getting a String out of bounds error, can someone help fix my code?
    primarykey
    data
    text
    <p>The error is String index out of range: 0. I honestly don't even know if what I'm doing is right in the first place.</p> <p>I have to create an entireName method and an initial method. Their names speak for themselves, pretty much entireName prints out the name depending on what the user gives me. If they only gave me a first and last name then that is all I would return.</p> <p>Initials is the same bit. It takes the first letter from the name input and only returns the initials. like John Lee Smith would be J.L.S.</p> <p>Can anyone help me to understand what is wrong? If you can't tell I'm only a beginner.</p> <p>I have a tester program that returns the error java.lang.StringIndexoutofboundexception: String index out of Range: 0 at java.lang.String.charAt(String.java:658) at PersonName.Initials(PersonName.java:131) atTestPersonName2.testOneName(TestPersonName2.java:50)</p> <pre><code>import java.util.StringTokenizer; public class PersonName { private int numberOfNames ; private String firstName; private String middleName; private String lastName; private String suffixName; PersonName(){ firstName=""; middleName=""; lastName=""; suffixName=""; numberOfNames=0; } public String getFirstName(){ return firstName; } public String getMiddleName(){ return middleName; } public String getLastName(){ return lastName; } public String getSuffixName(){ return suffixName; } public void setFirstName(String f){ if((f.length() == 0) &amp;&amp; (firstName.length() == 0)){ numberOfNames = numberOfNames; }else if(( f.length() &gt; 0) &amp;&amp; (firstName.length() == 0)){ numberOfNames++; } firstName = f; } public void setMiddleName(String m){ if((m.length() == 0) &amp;&amp; (middleName.length() == 0)){ numberOfNames = numberOfNames; }else if(( m.length() &gt; 0) &amp;&amp; (middleName.length() == 0)){ numberOfNames++; } middleName = m; } public void setLastName(String l){ if((l.length() == 0) &amp;&amp; (lastName.length() == 0)){ numberOfNames = numberOfNames; }else if(( l.length() &gt; 0) &amp;&amp; (lastName.length() == 0)){ numberOfNames++; } lastName = l; } public void setSuffixName(String s){ if((s.length() == 0) &amp;&amp; (suffixName.length() == 0)){ numberOfNames = numberOfNames; }else if(( s.length() &gt; 0) &amp;&amp; (suffixName.length() == 0)){ numberOfNames++; } suffixName = s; } public int getNumberOfNames(){ return numberOfNames; } PersonName(String wholename) { firstName=""; middleName=""; lastName=""; suffixName=""; numberOfNames=0; // store the name passed in to the method final int MAXNAMES = 4; String [] words = new String [MAXNAMES]; String testname=wholename; // initialize number of names found int numnames=0; // on each iteration remove one name StringTokenizer st = new StringTokenizer(wholename); while (st.hasMoreTokens()) { words[numnames++]=st.nextToken(); } if (numnames ==1) { setFirstName(words[0]);} else if (numnames == 2) { setFirstName(words[0]); setLastName(words[1]); } else if (numnames == 3) { setFirstName(words[0]); setMiddleName(words[1]); setLastName(words[2]); } else if (numnames == 4) { setFirstName(words[0]); setMiddleName(words[1]); setLastName(words[2]); setSuffixName(words[3]); } } public String EntireName(){ String EntireName = " "; //String EntireName = getFirstName() + " " + getMiddleName() + " " + getLastName() + " " + getSuffixName(); if(getNumberOfNames() == 0){ EntireName = " "; }else if(getNumberOfNames() == 1){ EntireName = getFirstName(); }else if(getNumberOfNames() == 2){ EntireName = getFirstName() + " " + getMiddleName(); }else if(getNumberOfNames() == 3){ EntireName = getFirstName() + " " + getMiddleName() + " " + getLastName(); }else { EntireName = getFirstName() + " " + getMiddleName() + " " + getLastName() + " " + getSuffixName(); } return EntireName; } public String Initials(){ String f = getFirstName(); char fChar = f.charAt(0); String m = getMiddleName(); char mChar = m.charAt(0); String l = getLastName(); char lChar = l.charAt(0); String s = getSuffixName(); char sChar = s.charAt(0); String initial = " "; if(getNumberOfNames() == 0){ initial = " "; }else if(getNumberOfNames() == 1){ initial = fChar + "."; }else if(getNumberOfNames() == 2){ initial = fChar + "." + mChar + "."; }else if(getNumberOfNames() == 3){ initial = fChar + "." + mChar + "." + lChar + "."; } //String initial = fChar + "." + mChar + "." + lChar ; return initial; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload