AprendizZ Posted February 15, 2018 at 11:30 PM Report #609377 Posted February 15, 2018 at 11:30 PM Boas, pretendo comparar a presença de vogais numa palavra e queria mudar um switch/case statement para um arraylist de forma a que a comparação fosse feita caso existisse alguma vogal da lista na palavra que estou a avaliar. Só que não sei como dar a volta. É no seguinte código que pretendo mudar (no final): import java.util.ArrayList; import java.util.List; public class SSP implements IState { private int cost; // cost from the receiver to its father private String s; public SSP(String str) { this(str, 0); } public SSP(String str, int cost) { s = str; this.cost = cost; } public boolean equals(Object that) { if (that instanceof SSP) { SSP b = ((SSP) that); return s.equals(b.s); } else return false; } public boolean isGoal(IState that) { return this.equals(that); } public String toString() { return s; } /** * @return a list with all configuration states which are reachable from the * receiver, when the rules of our problem are applied. */ public List<IState> children() { int n; List<IState> l = new ArrayList<IState>(); SSP child; for (int i = 0; i < s.length() - 1; i++) for (int j = i + 1; j < s.length(); j++) { StringBuffer schild = new StringBuffer(s); n = swap(schild, i, j); child = new SSP(schild.toString(), n); l.add(child); } return l; } public int getCost() { return cost; } private static int swap(StringBuffer s, int i, int j) { char c = s.charAt(i); char d = s.charAt(j); s.setCharAt(i, d); s.setCharAt(j, c); if (isVowel(c) && isVowel(d)) return 200; if (isVowel(c) || isVowel(d)) return 11; return 2; } private static boolean isVowel(char c) { switch (c) { case 'a': case 'e': case 'i': case 'o': case 'u': return true; } return false; } } Agradeço qualquer ajuda.
bsccara Posted February 16, 2018 at 07:18 PM Report #609382 Posted February 16, 2018 at 07:18 PM Não sendo especialista em Java parece-me que podes usar o método 'contains' da ArrayList. 1 Report
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now