Using Scanner to analyse a string, letter by letter, in a for loop (Throwing IndexOutOfBoundExceptions)
I need to count the frequency at which a letter appears in a string.
To do this, I thought about using a scanner object, passing the string to it
Scanner s = new Scanner(String)
and using the next() method to analyse each char with a switch statement.
I've done a search on these boards and have devised the following :-
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
char letter = s.next().charAt(i);
switch (letter) {
switch code;
}
This appears to work when the string I'm analysing contains anything (-_z1 etc..) other than whitespaces which will cause the program to throw a String.IndexOutOfBoundException (4).
Is there something else I can try or should I just remove all the whitespaces from the word (i.e. I'm thinking by creating a newword string using a for loop to add each string.charAt(i) != ' ').
Edit: I forgot that the scanner was in the for loop, I'll take it out. Secondly, not sure if it changes matters but I'm trying to count the no of times each letter in the alphabet in the string appears, not just one type of letter. Thanks for your comments!
Thanks in advance,
Kevin
java java.util.scanner
add a comment |
I need to count the frequency at which a letter appears in a string.
To do this, I thought about using a scanner object, passing the string to it
Scanner s = new Scanner(String)
and using the next() method to analyse each char with a switch statement.
I've done a search on these boards and have devised the following :-
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
char letter = s.next().charAt(i);
switch (letter) {
switch code;
}
This appears to work when the string I'm analysing contains anything (-_z1 etc..) other than whitespaces which will cause the program to throw a String.IndexOutOfBoundException (4).
Is there something else I can try or should I just remove all the whitespaces from the word (i.e. I'm thinking by creating a newword string using a for loop to add each string.charAt(i) != ' ').
Edit: I forgot that the scanner was in the for loop, I'll take it out. Secondly, not sure if it changes matters but I'm trying to count the no of times each letter in the alphabet in the string appears, not just one type of letter. Thanks for your comments!
Thanks in advance,
Kevin
java java.util.scanner
This code doesn't make much sense. If the goal is to go through each letter of outputString, why are you creating a Scanner and calling next(), instead of just getting the character at index i of outputString directly?
– JB Nizet
Nov 11 at 15:31
I understand what you are trying to achieve but this is a complicated way. Why not get the String in a String object and then manually check directly?
– Taslim
Nov 11 at 15:32
@JBNizet - I'm not sure, it must have skipped my mind. I've now changed it to outputString.charAt(i) which is much more cleaner - no need to remove any spaces!
– kevin0110w
Nov 13 at 11:06
add a comment |
I need to count the frequency at which a letter appears in a string.
To do this, I thought about using a scanner object, passing the string to it
Scanner s = new Scanner(String)
and using the next() method to analyse each char with a switch statement.
I've done a search on these boards and have devised the following :-
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
char letter = s.next().charAt(i);
switch (letter) {
switch code;
}
This appears to work when the string I'm analysing contains anything (-_z1 etc..) other than whitespaces which will cause the program to throw a String.IndexOutOfBoundException (4).
Is there something else I can try or should I just remove all the whitespaces from the word (i.e. I'm thinking by creating a newword string using a for loop to add each string.charAt(i) != ' ').
Edit: I forgot that the scanner was in the for loop, I'll take it out. Secondly, not sure if it changes matters but I'm trying to count the no of times each letter in the alphabet in the string appears, not just one type of letter. Thanks for your comments!
Thanks in advance,
Kevin
java java.util.scanner
I need to count the frequency at which a letter appears in a string.
To do this, I thought about using a scanner object, passing the string to it
Scanner s = new Scanner(String)
and using the next() method to analyse each char with a switch statement.
I've done a search on these boards and have devised the following :-
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
char letter = s.next().charAt(i);
switch (letter) {
switch code;
}
This appears to work when the string I'm analysing contains anything (-_z1 etc..) other than whitespaces which will cause the program to throw a String.IndexOutOfBoundException (4).
Is there something else I can try or should I just remove all the whitespaces from the word (i.e. I'm thinking by creating a newword string using a for loop to add each string.charAt(i) != ' ').
Edit: I forgot that the scanner was in the for loop, I'll take it out. Secondly, not sure if it changes matters but I'm trying to count the no of times each letter in the alphabet in the string appears, not just one type of letter. Thanks for your comments!
Thanks in advance,
Kevin
java java.util.scanner
java java.util.scanner
edited Nov 11 at 17:24
asked Nov 11 at 15:26
kevin0110w
62
62
This code doesn't make much sense. If the goal is to go through each letter of outputString, why are you creating a Scanner and calling next(), instead of just getting the character at index i of outputString directly?
– JB Nizet
Nov 11 at 15:31
I understand what you are trying to achieve but this is a complicated way. Why not get the String in a String object and then manually check directly?
– Taslim
Nov 11 at 15:32
@JBNizet - I'm not sure, it must have skipped my mind. I've now changed it to outputString.charAt(i) which is much more cleaner - no need to remove any spaces!
– kevin0110w
Nov 13 at 11:06
add a comment |
This code doesn't make much sense. If the goal is to go through each letter of outputString, why are you creating a Scanner and calling next(), instead of just getting the character at index i of outputString directly?
– JB Nizet
Nov 11 at 15:31
I understand what you are trying to achieve but this is a complicated way. Why not get the String in a String object and then manually check directly?
– Taslim
Nov 11 at 15:32
@JBNizet - I'm not sure, it must have skipped my mind. I've now changed it to outputString.charAt(i) which is much more cleaner - no need to remove any spaces!
– kevin0110w
Nov 13 at 11:06
This code doesn't make much sense. If the goal is to go through each letter of outputString, why are you creating a Scanner and calling next(), instead of just getting the character at index i of outputString directly?
– JB Nizet
Nov 11 at 15:31
This code doesn't make much sense. If the goal is to go through each letter of outputString, why are you creating a Scanner and calling next(), instead of just getting the character at index i of outputString directly?
– JB Nizet
Nov 11 at 15:31
I understand what you are trying to achieve but this is a complicated way. Why not get the String in a String object and then manually check directly?
– Taslim
Nov 11 at 15:32
I understand what you are trying to achieve but this is a complicated way. Why not get the String in a String object and then manually check directly?
– Taslim
Nov 11 at 15:32
@JBNizet - I'm not sure, it must have skipped my mind. I've now changed it to outputString.charAt(i) which is much more cleaner - no need to remove any spaces!
– kevin0110w
Nov 13 at 11:06
@JBNizet - I'm not sure, it must have skipped my mind. I've now changed it to outputString.charAt(i) which is much more cleaner - no need to remove any spaces!
– kevin0110w
Nov 13 at 11:06
add a comment |
5 Answers
5
active
oldest
votes
Here is an alternative way to solve this problem provided on another question. (can't leave comments yet.. so have to put as an answer...)
How to count frequency of characters in a string?
add a comment |
While having this:
Scanner s = new Scanner(outputString);
Inside the for
loop, you're creating a new Scanner
in every iteration (not efficient nor what you want).
If you already have a String
called outputString
you can access its characters / letters directly as follows:
for (int i = 0; i < outputString.length(); i++) {
char letter = outputString.charAt(i);
//The rest of you code here
}
add a comment |
I strongly think you're complicating things by using that approach. You can simply pass the String (and the char you are searching for) into a method just like the one below:
public int checkFreq(char letter, String word){
int freq = 0;
for(int i = 0; i < word.length(); i++){
if((word.charAt(i)) == letter){
freq++;
}
}
return freq;
}
I hope this helps.. Merry coding!
add a comment |
You should follow the above solution for getting repeated characters in a string. However, I will just give you a hint about why you are getting the exception
consider the following code:
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
add a comment |
First of all, you shold not create new Scanner
each time when you ready next character. Do it only once, before for loop
.
Second - to read scanner character by character, you have set delimeter
as ""
. In this case, scan.next()
returns next character.
Third - you use Scanner
to analyze string, that's OK (not optimal and overhead, but OK). Then do create new Scanner
isntance and rely on it's data, but not on length of the goven string; do use Scanner.hasNext()
method. I mean that all you need, is just add hasNext()
to be sure that more characters exists in the scanner's stream:
try (Scanner scan = new Scanner(outputString)) {
scan.useDelimiter(""); // to make scan.next() return one single character
while (scan.hasNext()) {
char ch = scan.next().charAt(0); // next() returns String with one character
// do your work
}
}
P.S. This is code examples, how you can cound character frequencey in the given string with different ways. Probably, one of them you'll find more relevant to your task.
// this is your approach
public static int characterFrequency(String str, char ch) {
try (Scanner scan = new Scanner(str)) {
scan.useDelimiter("");
int count = 0;
while (scan.hasNext())
count += scan.next().charAt(0) == ch ? 1 : 0;
return count;
}
}
// this one is the most efficient
public static int characterFrequency(String str, char ch) {
int count = 0;
for (int i = 0; i < str.length(); i++)
count += str.charAt(i) == ch ? 1 : 0;
return count;
}
// this one is the smallest of code
public static int characterFrequency(String str, char ch) {
return (int)str.chars().filter(e -> e == ch).count();
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53250205%2fusing-scanner-to-analyse-a-string-letter-by-letter-in-a-for-loop-throwing-ind%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here is an alternative way to solve this problem provided on another question. (can't leave comments yet.. so have to put as an answer...)
How to count frequency of characters in a string?
add a comment |
Here is an alternative way to solve this problem provided on another question. (can't leave comments yet.. so have to put as an answer...)
How to count frequency of characters in a string?
add a comment |
Here is an alternative way to solve this problem provided on another question. (can't leave comments yet.. so have to put as an answer...)
How to count frequency of characters in a string?
Here is an alternative way to solve this problem provided on another question. (can't leave comments yet.. so have to put as an answer...)
How to count frequency of characters in a string?
answered Nov 11 at 15:37
PMoe
265
265
add a comment |
add a comment |
While having this:
Scanner s = new Scanner(outputString);
Inside the for
loop, you're creating a new Scanner
in every iteration (not efficient nor what you want).
If you already have a String
called outputString
you can access its characters / letters directly as follows:
for (int i = 0; i < outputString.length(); i++) {
char letter = outputString.charAt(i);
//The rest of you code here
}
add a comment |
While having this:
Scanner s = new Scanner(outputString);
Inside the for
loop, you're creating a new Scanner
in every iteration (not efficient nor what you want).
If you already have a String
called outputString
you can access its characters / letters directly as follows:
for (int i = 0; i < outputString.length(); i++) {
char letter = outputString.charAt(i);
//The rest of you code here
}
add a comment |
While having this:
Scanner s = new Scanner(outputString);
Inside the for
loop, you're creating a new Scanner
in every iteration (not efficient nor what you want).
If you already have a String
called outputString
you can access its characters / letters directly as follows:
for (int i = 0; i < outputString.length(); i++) {
char letter = outputString.charAt(i);
//The rest of you code here
}
While having this:
Scanner s = new Scanner(outputString);
Inside the for
loop, you're creating a new Scanner
in every iteration (not efficient nor what you want).
If you already have a String
called outputString
you can access its characters / letters directly as follows:
for (int i = 0; i < outputString.length(); i++) {
char letter = outputString.charAt(i);
//The rest of you code here
}
answered Nov 11 at 15:40
Frakcool
7,62052557
7,62052557
add a comment |
add a comment |
I strongly think you're complicating things by using that approach. You can simply pass the String (and the char you are searching for) into a method just like the one below:
public int checkFreq(char letter, String word){
int freq = 0;
for(int i = 0; i < word.length(); i++){
if((word.charAt(i)) == letter){
freq++;
}
}
return freq;
}
I hope this helps.. Merry coding!
add a comment |
I strongly think you're complicating things by using that approach. You can simply pass the String (and the char you are searching for) into a method just like the one below:
public int checkFreq(char letter, String word){
int freq = 0;
for(int i = 0; i < word.length(); i++){
if((word.charAt(i)) == letter){
freq++;
}
}
return freq;
}
I hope this helps.. Merry coding!
add a comment |
I strongly think you're complicating things by using that approach. You can simply pass the String (and the char you are searching for) into a method just like the one below:
public int checkFreq(char letter, String word){
int freq = 0;
for(int i = 0; i < word.length(); i++){
if((word.charAt(i)) == letter){
freq++;
}
}
return freq;
}
I hope this helps.. Merry coding!
I strongly think you're complicating things by using that approach. You can simply pass the String (and the char you are searching for) into a method just like the one below:
public int checkFreq(char letter, String word){
int freq = 0;
for(int i = 0; i < word.length(); i++){
if((word.charAt(i)) == letter){
freq++;
}
}
return freq;
}
I hope this helps.. Merry coding!
edited Nov 11 at 15:44
answered Nov 11 at 15:39
Taslim
1,19741525
1,19741525
add a comment |
add a comment |
You should follow the above solution for getting repeated characters in a string. However, I will just give you a hint about why you are getting the exception
consider the following code:
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
add a comment |
You should follow the above solution for getting repeated characters in a string. However, I will just give you a hint about why you are getting the exception
consider the following code:
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
add a comment |
You should follow the above solution for getting repeated characters in a string. However, I will just give you a hint about why you are getting the exception
consider the following code:
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
You should follow the above solution for getting repeated characters in a string. However, I will just give you a hint about why you are getting the exception
consider the following code:
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
String outputString = "Pre ";
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
System.out.println(outputString.length()); // output is 4
System.out.println(s.next().length()); //output is 3, not considering the space
//char letter = s.next().charAt(i);
//System.out.println(letter);
}
answered Nov 11 at 15:48
Subhasish Bhattacharjee
7511
7511
add a comment |
add a comment |
First of all, you shold not create new Scanner
each time when you ready next character. Do it only once, before for loop
.
Second - to read scanner character by character, you have set delimeter
as ""
. In this case, scan.next()
returns next character.
Third - you use Scanner
to analyze string, that's OK (not optimal and overhead, but OK). Then do create new Scanner
isntance and rely on it's data, but not on length of the goven string; do use Scanner.hasNext()
method. I mean that all you need, is just add hasNext()
to be sure that more characters exists in the scanner's stream:
try (Scanner scan = new Scanner(outputString)) {
scan.useDelimiter(""); // to make scan.next() return one single character
while (scan.hasNext()) {
char ch = scan.next().charAt(0); // next() returns String with one character
// do your work
}
}
P.S. This is code examples, how you can cound character frequencey in the given string with different ways. Probably, one of them you'll find more relevant to your task.
// this is your approach
public static int characterFrequency(String str, char ch) {
try (Scanner scan = new Scanner(str)) {
scan.useDelimiter("");
int count = 0;
while (scan.hasNext())
count += scan.next().charAt(0) == ch ? 1 : 0;
return count;
}
}
// this one is the most efficient
public static int characterFrequency(String str, char ch) {
int count = 0;
for (int i = 0; i < str.length(); i++)
count += str.charAt(i) == ch ? 1 : 0;
return count;
}
// this one is the smallest of code
public static int characterFrequency(String str, char ch) {
return (int)str.chars().filter(e -> e == ch).count();
}
add a comment |
First of all, you shold not create new Scanner
each time when you ready next character. Do it only once, before for loop
.
Second - to read scanner character by character, you have set delimeter
as ""
. In this case, scan.next()
returns next character.
Third - you use Scanner
to analyze string, that's OK (not optimal and overhead, but OK). Then do create new Scanner
isntance and rely on it's data, but not on length of the goven string; do use Scanner.hasNext()
method. I mean that all you need, is just add hasNext()
to be sure that more characters exists in the scanner's stream:
try (Scanner scan = new Scanner(outputString)) {
scan.useDelimiter(""); // to make scan.next() return one single character
while (scan.hasNext()) {
char ch = scan.next().charAt(0); // next() returns String with one character
// do your work
}
}
P.S. This is code examples, how you can cound character frequencey in the given string with different ways. Probably, one of them you'll find more relevant to your task.
// this is your approach
public static int characterFrequency(String str, char ch) {
try (Scanner scan = new Scanner(str)) {
scan.useDelimiter("");
int count = 0;
while (scan.hasNext())
count += scan.next().charAt(0) == ch ? 1 : 0;
return count;
}
}
// this one is the most efficient
public static int characterFrequency(String str, char ch) {
int count = 0;
for (int i = 0; i < str.length(); i++)
count += str.charAt(i) == ch ? 1 : 0;
return count;
}
// this one is the smallest of code
public static int characterFrequency(String str, char ch) {
return (int)str.chars().filter(e -> e == ch).count();
}
add a comment |
First of all, you shold not create new Scanner
each time when you ready next character. Do it only once, before for loop
.
Second - to read scanner character by character, you have set delimeter
as ""
. In this case, scan.next()
returns next character.
Third - you use Scanner
to analyze string, that's OK (not optimal and overhead, but OK). Then do create new Scanner
isntance and rely on it's data, but not on length of the goven string; do use Scanner.hasNext()
method. I mean that all you need, is just add hasNext()
to be sure that more characters exists in the scanner's stream:
try (Scanner scan = new Scanner(outputString)) {
scan.useDelimiter(""); // to make scan.next() return one single character
while (scan.hasNext()) {
char ch = scan.next().charAt(0); // next() returns String with one character
// do your work
}
}
P.S. This is code examples, how you can cound character frequencey in the given string with different ways. Probably, one of them you'll find more relevant to your task.
// this is your approach
public static int characterFrequency(String str, char ch) {
try (Scanner scan = new Scanner(str)) {
scan.useDelimiter("");
int count = 0;
while (scan.hasNext())
count += scan.next().charAt(0) == ch ? 1 : 0;
return count;
}
}
// this one is the most efficient
public static int characterFrequency(String str, char ch) {
int count = 0;
for (int i = 0; i < str.length(); i++)
count += str.charAt(i) == ch ? 1 : 0;
return count;
}
// this one is the smallest of code
public static int characterFrequency(String str, char ch) {
return (int)str.chars().filter(e -> e == ch).count();
}
First of all, you shold not create new Scanner
each time when you ready next character. Do it only once, before for loop
.
Second - to read scanner character by character, you have set delimeter
as ""
. In this case, scan.next()
returns next character.
Third - you use Scanner
to analyze string, that's OK (not optimal and overhead, but OK). Then do create new Scanner
isntance and rely on it's data, but not on length of the goven string; do use Scanner.hasNext()
method. I mean that all you need, is just add hasNext()
to be sure that more characters exists in the scanner's stream:
try (Scanner scan = new Scanner(outputString)) {
scan.useDelimiter(""); // to make scan.next() return one single character
while (scan.hasNext()) {
char ch = scan.next().charAt(0); // next() returns String with one character
// do your work
}
}
P.S. This is code examples, how you can cound character frequencey in the given string with different ways. Probably, one of them you'll find more relevant to your task.
// this is your approach
public static int characterFrequency(String str, char ch) {
try (Scanner scan = new Scanner(str)) {
scan.useDelimiter("");
int count = 0;
while (scan.hasNext())
count += scan.next().charAt(0) == ch ? 1 : 0;
return count;
}
}
// this one is the most efficient
public static int characterFrequency(String str, char ch) {
int count = 0;
for (int i = 0; i < str.length(); i++)
count += str.charAt(i) == ch ? 1 : 0;
return count;
}
// this one is the smallest of code
public static int characterFrequency(String str, char ch) {
return (int)str.chars().filter(e -> e == ch).count();
}
edited Nov 11 at 16:38
answered Nov 11 at 16:20
oleg.cherednik
5,49521017
5,49521017
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53250205%2fusing-scanner-to-analyse-a-string-letter-by-letter-in-a-for-loop-throwing-ind%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
This code doesn't make much sense. If the goal is to go through each letter of outputString, why are you creating a Scanner and calling next(), instead of just getting the character at index i of outputString directly?
– JB Nizet
Nov 11 at 15:31
I understand what you are trying to achieve but this is a complicated way. Why not get the String in a String object and then manually check directly?
– Taslim
Nov 11 at 15:32
@JBNizet - I'm not sure, it must have skipped my mind. I've now changed it to outputString.charAt(i) which is much more cleaner - no need to remove any spaces!
– kevin0110w
Nov 13 at 11:06