vendredi 4 janvier 2019

Trying to find whitespaces in my parseWord method. Java doesn't seem to match them even though the conditional written is correct?

As said in title my parseWord method (the one with two parameters) seems to not detect any whitespaces even though I can't find any real errors in my code. My first parseWord method works correctly and finds the correct amount of points but the same does not happen for the other one. Any reason why its not finding the right points or whitespaces?

import java.util.*;
public class WordGolf{
public static String Input;
public static int currentIndex;
public static int points;
public static void main(String[] args){
  System.out.println("Enter word: ");
  Scanner sc = new Scanner(System.in);
  Input = sc.nextLine();
  System.out.println(parseSentence(Input) +  " points");
  sc.close();
}

public static int parseSentence(String input){
points = 1;
parseWord(input);
for(int x = currentIndex; x < input.length(); x = currentIndex){
   parseWord(input, currentIndex);
}
return points;
}
public static int parseWord(String input){
   String charList = "aeiouyAEIOUY";
   String consanantList = "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ";
   String badList = " .,\"/?\\][{};:<>|!@#$%^&*()";
   int pointsTemp = 1;
   for(int x = 0; x < input.length();x++){
       if(charList.indexOf(input.charAt(x)) != -1){
           pointsTemp *= 2;
           currentIndex = x + 2;
           }
       else if(consanantList.indexOf(input.charAt(x)) != -1) {
           pointsTemp++;
           currentIndex = x + 2;
           }
       else {
           break;
       }
       }
   points = pointsTemp;
   return points;
}
public static int parseWord(String input, int start){
   String charList = "aeiouyAEIOUY";
   String consanantList = "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ";
   int pointsTemp = 1;
   start = currentIndex;
   for(int x = start; x < input.length();x++){
       if(charList.indexOf(input.charAt(x)) != -1){
           currentIndex = x + 1;
           pointsTemp *= 2;
           if(currentIndex > input.length()-1) {
               break;
           }
       }
       else if(consanantList.indexOf(input.charAt(x)) != -1) {
           currentIndex = x + 1;
           pointsTemp++;
           if(currentIndex > input.length()-1) {
               break;
           }
       }
           else if("\\s".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if(".".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if(",".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("<".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if(">".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("/".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("?".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if(";".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if(":".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("\\".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("|".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("[".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("]".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("{".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("}".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("\"".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("-".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("_".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("+".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("=".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("!".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("@".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("#".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("$".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("%".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("^".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("&".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("*".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if("(".indexOf(input.charAt(x)) != -1) {
               break;
           }
           else if(")".indexOf(input.charAt(x)) != -1) {
               break;
           }
       }
   points += pointsTemp;
   return points;
}
}   

Aucun commentaire:

Enregistrer un commentaire