所以我需要帮助。我正在使用二维数组,所以我要做的就是连续浏览2-d数组(从数组的左上角开始,就像你正在读段落一样)。 我尝试编写一个返回数组的方法,其中包含以下规则:
1)如果单词以元音(a,e,i,o,u)开头:将单词与同一行中的前一个单词交换
2)如果该单词是该行的第一个单词,则将其与正上方的单词交换;但是,如果单词位于第一行,则不应进行交换。
3)如果单词以辅音开头,则交换单词的第一个和最后一个字符。
实施例。 2-dim数组:
米饭,鸡蛋,房间apple,java,owl
转换:
apple,eicr,moor
蛋,猫头鹰,avaj这是我到目前为止所做的: 我已经准备好测试仪类并准备就绪,但我在下面的课程中设置方法时遇到了问题。这对我需要的指导非常重要。
public class WordShuffle
{
// Use this method signature
// The parameter is a 2-dim array of words
// The method will return a 2-dim array of shuffled words
public String[][] shuffleWords(String[][] words)
{
}
}
测试员类:
public class WordShuffleTester
{
// Don't change this tester except to change the values in the 2-dim array
public static void main(String[] args)
{
// This is the 2-dim array to test your method
String[][] words = {{ "doom", "candy", "apple"},
{"orange", "energy", "rat"},
{ "mad", "test", "cool"},
{ "red", "blue", "drain"}};
WordShuffle shuffler = new WordShuffle();
String[][] mixedUpWords = shuffler.shuffleWords(words);
// The following will print out each element of the returned array
for (int r=0; r < mixedUpWords.length; r++)
{
for (int c=0; c < mixedUpWords[r].length; c++)
{
System.out.print(mixedUpWords[r][c] + "\t");
}
System.out.println(" ");
}
}
}
如果有人能够帮助我进一步帮助我,那将是非常有必要的!
答案 0 :(得分:0)
我很厌倦了这一点,但将来尝试至少尝试自己解决问题(你的Child
方法完全是空的。)
shuffleWords
虽然此代码有效,但重要的是要注意,当移动单词时(由于第1或第2规则),以辅音开头的单词可能会多次交换第一个和最后一个字母。不确定这是否是预期的效果,但可能需要对执行这些任务的顺序进行一些调整。以下是使用public String[][] shuffleWords(String[][] words)
{
String vowels = "aeiou";
String temp = "";
for (int i=0; i < words.length; i++)
{
for (int j=0; j < words[i].length; j++)
{
if(vowels.contains(words[i][j].substring(0,1)) && j > 0){
temp = words[i][j];
words[i][j] = words [i][j-1];
words[i][j-1] = temp;
}
if(j == 0 && i > 0){
temp = words[i][j];
words[i][j] = words [i-1][j];
words[i-1][j] = temp;
}
if(!vowels.contains(words[i][j].substring(0,1))){
String s = words[i][j];
temp = s.substring(1,s.length()-1);
String first = s.substring(0,1);
String last = s.substring(s.length()-1,s.length());
words[i][j] = last + temp + first;
}
}
}
return words;
}
WordShuffleTester
答案 1 :(得分:0)
以下是我解决问题的方法:
//Input:
doom candy apple
orange energy rat
mad test cool
red blue drain
//Output:
orange apple candy
mad mood tar
red test looc
energy elub nraid
}
希望这会有所帮助:)