Combinational string search using Java Announcing the arrival of Valued Associate #679: Cesar...
Windows 10: How to Lock (not sleep) laptop on lid close?
Problem when applying foreach loop
How to colour the US map with Yellow, Green, Red and Blue to minimize the number of states with the colour of Green
What items from the Roman-age tech-level could be used to deter all creatures from entering a small area?
Can smartphones with the same camera sensor have different image quality?
Simulating Exploding Dice
Complexity of many constant time steps with occasional logarithmic steps
Why does this iterative way of solving of equation work?
Active filter with series inductor and resistor - do these exist?
Did the new image of black hole confirm the general theory of relativity?
New Order #5: where Fibonacci and Beatty meet at Wythoff
Why use gamma over alpha radiation?
Aligning matrix of nodes with grid
What is the largest species of polychaete?
Who can trigger ship-wide alerts in Star Trek?
Strange behaviour of Check
What is the electric potential inside a point charge?
Do working physicists consider Newtonian mechanics to be "falsified"?
How are presidential pardons supposed to be used?
Does a C shift expression have unsigned type? Why would Splint warn about a right-shift?
Determine whether f is a function, an injection, a surjection
Classification of bundles, Postnikov towers, obstruction theory, local coefficients
How to rotate it perfectly?
Stop battery usage [Ubuntu 18]
Combinational string search using Java
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Using Levenstein distance to compare stringsBalanced parenthesesMatch Simple Sentence or Partial SentenceFinding the shortest substring containing keywordsWildcard string search with captureTrinary Search TreeFind the first unique character in a stringDid you twist my words?Effective way to find two string are anagramsCheck if a string is a valid english word, and convert to a valid english word
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
$begingroup$
I wrote a program that receives 2 strings (Input and Search) in the Search string. The sign '+' indicates that if the substring before the '+' exists in the Input string. (The search string cannot start with '+' and there cannot be a '+' followed by another '+').
Can you review it for best coding practices and efficiency?
boolean notgood = false;
boolean break1 = false;
boolean break2 = false;
int counter = 0;
if (search.charAt(0)=='+'||search.charAt(0)=='*') {
System.out.println("Invalid search striNG.");
continue;
}
//////////////////////////////////////////////
for (i=0; i<search.length() && notgood==false; i++) {
if (search.charAt(i)!='*' && search.charAt(i)!='+') {
counter++;
}
if (counter == search.length()) {
System.out.println("Invalid SEARCH string.");
notgood=true;
break;
}
if ((search.charAt(i)=='*')||(search.charAt(i)=='+')) {
if (i!=search.length()-1) {
if ((search.charAt(i+1)=='*')||(search.charAt(i+1)=='+')) {
System.out.println("INvalid search string.");
notgood=true;
break1=true;
}
}
}
}
////////////////////////////////////////////
for (i=0; i<search.length() && !break1; i++) {
int c=0;
if (search.charAt(i)=='+') {
String word = search.substring(0,i);
for (int j=0; j<input.length() && !break2; j++) {
if ((input.charAt(j) == word.charAt(c)) && c<word.length()) {
c++;
}
if (c>=word.length()) {
System.out.println("Search string matches input string.");
break1=true;
break2=true;
}
}
if (c<word.length()) {
System.out.println("Search string doesn't match input string.");
}
}
For example, for Input = 'abcd' and Search = 'ab+cd+', the result should be the strings match.
java beginner strings search
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$endgroup$
add a comment |
$begingroup$
I wrote a program that receives 2 strings (Input and Search) in the Search string. The sign '+' indicates that if the substring before the '+' exists in the Input string. (The search string cannot start with '+' and there cannot be a '+' followed by another '+').
Can you review it for best coding practices and efficiency?
boolean notgood = false;
boolean break1 = false;
boolean break2 = false;
int counter = 0;
if (search.charAt(0)=='+'||search.charAt(0)=='*') {
System.out.println("Invalid search striNG.");
continue;
}
//////////////////////////////////////////////
for (i=0; i<search.length() && notgood==false; i++) {
if (search.charAt(i)!='*' && search.charAt(i)!='+') {
counter++;
}
if (counter == search.length()) {
System.out.println("Invalid SEARCH string.");
notgood=true;
break;
}
if ((search.charAt(i)=='*')||(search.charAt(i)=='+')) {
if (i!=search.length()-1) {
if ((search.charAt(i+1)=='*')||(search.charAt(i+1)=='+')) {
System.out.println("INvalid search string.");
notgood=true;
break1=true;
}
}
}
}
////////////////////////////////////////////
for (i=0; i<search.length() && !break1; i++) {
int c=0;
if (search.charAt(i)=='+') {
String word = search.substring(0,i);
for (int j=0; j<input.length() && !break2; j++) {
if ((input.charAt(j) == word.charAt(c)) && c<word.length()) {
c++;
}
if (c>=word.length()) {
System.out.println("Search string matches input string.");
break1=true;
break2=true;
}
}
if (c<word.length()) {
System.out.println("Search string doesn't match input string.");
}
}
For example, for Input = 'abcd' and Search = 'ab+cd+', the result should be the strings match.
java beginner strings search
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$endgroup$
1
$begingroup$
Request for clarification: does ab+cd+ indicate that the two substring which should be present are “ab” and “cd” or is it everything to the left of the +, thus “ab” and “abcd” should be contained? In other words, does the filter “to the left of +” stop when it encounters another plus?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
I also noticed you check in the beginning for “*”. What does this character mean in the context of your program?
$endgroup$
– DapperDan
5 hours ago
1
$begingroup$
Welcome to Code Review! Please read the article on How to write a good question in the Help Center. Update the title of your question after reading. Additionally, fix your code so that it's complete, runnable and working.
$endgroup$
– Alex
4 hours ago
add a comment |
$begingroup$
I wrote a program that receives 2 strings (Input and Search) in the Search string. The sign '+' indicates that if the substring before the '+' exists in the Input string. (The search string cannot start with '+' and there cannot be a '+' followed by another '+').
Can you review it for best coding practices and efficiency?
boolean notgood = false;
boolean break1 = false;
boolean break2 = false;
int counter = 0;
if (search.charAt(0)=='+'||search.charAt(0)=='*') {
System.out.println("Invalid search striNG.");
continue;
}
//////////////////////////////////////////////
for (i=0; i<search.length() && notgood==false; i++) {
if (search.charAt(i)!='*' && search.charAt(i)!='+') {
counter++;
}
if (counter == search.length()) {
System.out.println("Invalid SEARCH string.");
notgood=true;
break;
}
if ((search.charAt(i)=='*')||(search.charAt(i)=='+')) {
if (i!=search.length()-1) {
if ((search.charAt(i+1)=='*')||(search.charAt(i+1)=='+')) {
System.out.println("INvalid search string.");
notgood=true;
break1=true;
}
}
}
}
////////////////////////////////////////////
for (i=0; i<search.length() && !break1; i++) {
int c=0;
if (search.charAt(i)=='+') {
String word = search.substring(0,i);
for (int j=0; j<input.length() && !break2; j++) {
if ((input.charAt(j) == word.charAt(c)) && c<word.length()) {
c++;
}
if (c>=word.length()) {
System.out.println("Search string matches input string.");
break1=true;
break2=true;
}
}
if (c<word.length()) {
System.out.println("Search string doesn't match input string.");
}
}
For example, for Input = 'abcd' and Search = 'ab+cd+', the result should be the strings match.
java beginner strings search
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$endgroup$
I wrote a program that receives 2 strings (Input and Search) in the Search string. The sign '+' indicates that if the substring before the '+' exists in the Input string. (The search string cannot start with '+' and there cannot be a '+' followed by another '+').
Can you review it for best coding practices and efficiency?
boolean notgood = false;
boolean break1 = false;
boolean break2 = false;
int counter = 0;
if (search.charAt(0)=='+'||search.charAt(0)=='*') {
System.out.println("Invalid search striNG.");
continue;
}
//////////////////////////////////////////////
for (i=0; i<search.length() && notgood==false; i++) {
if (search.charAt(i)!='*' && search.charAt(i)!='+') {
counter++;
}
if (counter == search.length()) {
System.out.println("Invalid SEARCH string.");
notgood=true;
break;
}
if ((search.charAt(i)=='*')||(search.charAt(i)=='+')) {
if (i!=search.length()-1) {
if ((search.charAt(i+1)=='*')||(search.charAt(i+1)=='+')) {
System.out.println("INvalid search string.");
notgood=true;
break1=true;
}
}
}
}
////////////////////////////////////////////
for (i=0; i<search.length() && !break1; i++) {
int c=0;
if (search.charAt(i)=='+') {
String word = search.substring(0,i);
for (int j=0; j<input.length() && !break2; j++) {
if ((input.charAt(j) == word.charAt(c)) && c<word.length()) {
c++;
}
if (c>=word.length()) {
System.out.println("Search string matches input string.");
break1=true;
break2=true;
}
}
if (c<word.length()) {
System.out.println("Search string doesn't match input string.");
}
}
For example, for Input = 'abcd' and Search = 'ab+cd+', the result should be the strings match.
java beginner strings search
java beginner strings search
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 5 mins ago
Emma
2041215
2041215
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 5 hours ago
Lior RozLior Roz
61
61
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Lior Roz is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1
$begingroup$
Request for clarification: does ab+cd+ indicate that the two substring which should be present are “ab” and “cd” or is it everything to the left of the +, thus “ab” and “abcd” should be contained? In other words, does the filter “to the left of +” stop when it encounters another plus?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
I also noticed you check in the beginning for “*”. What does this character mean in the context of your program?
$endgroup$
– DapperDan
5 hours ago
1
$begingroup$
Welcome to Code Review! Please read the article on How to write a good question in the Help Center. Update the title of your question after reading. Additionally, fix your code so that it's complete, runnable and working.
$endgroup$
– Alex
4 hours ago
add a comment |
1
$begingroup$
Request for clarification: does ab+cd+ indicate that the two substring which should be present are “ab” and “cd” or is it everything to the left of the +, thus “ab” and “abcd” should be contained? In other words, does the filter “to the left of +” stop when it encounters another plus?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
I also noticed you check in the beginning for “*”. What does this character mean in the context of your program?
$endgroup$
– DapperDan
5 hours ago
1
$begingroup$
Welcome to Code Review! Please read the article on How to write a good question in the Help Center. Update the title of your question after reading. Additionally, fix your code so that it's complete, runnable and working.
$endgroup$
– Alex
4 hours ago
1
1
$begingroup$
Request for clarification: does ab+cd+ indicate that the two substring which should be present are “ab” and “cd” or is it everything to the left of the +, thus “ab” and “abcd” should be contained? In other words, does the filter “to the left of +” stop when it encounters another plus?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
Request for clarification: does ab+cd+ indicate that the two substring which should be present are “ab” and “cd” or is it everything to the left of the +, thus “ab” and “abcd” should be contained? In other words, does the filter “to the left of +” stop when it encounters another plus?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
I also noticed you check in the beginning for “*”. What does this character mean in the context of your program?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
I also noticed you check in the beginning for “*”. What does this character mean in the context of your program?
$endgroup$
– DapperDan
5 hours ago
1
1
$begingroup$
Welcome to Code Review! Please read the article on How to write a good question in the Help Center. Update the title of your question after reading. Additionally, fix your code so that it's complete, runnable and working.
$endgroup$
– Alex
4 hours ago
$begingroup$
Welcome to Code Review! Please read the article on How to write a good question in the Help Center. Update the title of your question after reading. Additionally, fix your code so that it's complete, runnable and working.
$endgroup$
– Alex
4 hours ago
add a comment |
0
active
oldest
votes
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: "196"
};
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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
});
}
});
Lior Roz is a new contributor. Be nice, and check out our Code of Conduct.
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%2fcodereview.stackexchange.com%2fquestions%2f217453%2fcombinational-string-search-using-java%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Lior Roz is a new contributor. Be nice, and check out our Code of Conduct.
Lior Roz is a new contributor. Be nice, and check out our Code of Conduct.
Lior Roz is a new contributor. Be nice, and check out our Code of Conduct.
Lior Roz is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- 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.
Use MathJax to format equations. MathJax reference.
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%2fcodereview.stackexchange.com%2fquestions%2f217453%2fcombinational-string-search-using-java%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
1
$begingroup$
Request for clarification: does ab+cd+ indicate that the two substring which should be present are “ab” and “cd” or is it everything to the left of the +, thus “ab” and “abcd” should be contained? In other words, does the filter “to the left of +” stop when it encounters another plus?
$endgroup$
– DapperDan
5 hours ago
$begingroup$
I also noticed you check in the beginning for “*”. What does this character mean in the context of your program?
$endgroup$
– DapperDan
5 hours ago
1
$begingroup$
Welcome to Code Review! Please read the article on How to write a good question in the Help Center. Update the title of your question after reading. Additionally, fix your code so that it's complete, runnable and working.
$endgroup$
– Alex
4 hours ago