题目:
解法一:
package exercism;public class Proverb {
private String[] list;public Proverb(String[] list) {
this.list = list;}String generateProverb(String[] list) {
StringBuilder output = new StringBuilder();for (int i = 0; i < list.length - 1; i++) {
String content = String.format("For want of a %s the %s was lost \n",list[i],list[i+1]);output.append(content);}output.append("And all for the want of " + list[0]);return output.toString();}}
解法二:
import java.util.stream.Collectors;
import java.util.stream.IntStream;class Proverb {
private final String[] words;Proverb(String[] words) {
this.words = words;}String recite() {
return IntStream.range(0, words.length).mapToObj(this::format).collect(Collectors.joining("\n"));}private String format(int s) {
return s != words.length - 1 ?"For want of a " + words[s] + " the " + words[s + 1] + " was lost.": "And all for the want of a " + words[0] + ".";}
}
总结: