【发布时间】:2017-08-03 18:06:09
【问题描述】:
所以,我对编码很陌生,但我有一个大学作业来创建一个文字操纵器。根据 int 输入,我应该从用户那里获取一个字符串和一个 INT 并反转每个第 N 个单词。 我正在执行步骤,并在第 38 行(我最后一个 FOR LOOP 的开始)处遇到此错误。编译器在这一行中给了我一个 Not an Statement Error 但我看不出哪里出错了。 有人可以给一个灯,好吗? ps:我不允许使用Token或inverse()。
import java.util.Scanner;
public class assignment3 {
public static void main(String[] args) {
// BOTH INPUTS WERE TAKEN
Scanner input = new Scanner (System.in);
String stringInput;
int intInput;
System.out.println("Please enter a sentence");
stringInput = input.nextLine();
System.out.println("Please enter an integer from 1 to 10. \n We will invert every word in that position for you!");
intInput = input.nextInt();
int counter = 1;
// ALL CHARS NOW ARE LOWERCASE
String lowerCaseVersion = stringInput.toLowerCase();
// SPLIT THE STRING INTO ARRAY OF WORDS
String [] arrayOfWords = null;
String delimiter = " ";
arrayOfWords = lowerCaseVersion.split(delimiter);
for(int i=0; i< arrayOfWords.length; i++){
System.out.println(arrayOfWords[i]);
// THIS RETURNS AN ARRAY WITH ALL THE WORDS FROM THE INPUT
}
// IF THE INTEGER INPUT IS BIGGER THAN THE STRING.LENGTH, OUTPUT A MESSAGE
// THIS PART IS WORKING BUT I MIGHT WANT TO PUT IT IN A LOOP AND ASK FOR INPUT AGAIN
if (intInput > arrayOfWords.length){
System.out.println("There are not enough words in your sentence!");
}
// NOW I NEED TO REVERSE EVERY NTH WORD BASED ON THE USER INPUT
//THIS IS WHERE THE ERROR OCCURS
for(int i=(intInput-1); i<arrayOfWords.length; (i+intInput)){
char invertedWord[] = new char[arrayOfWords.length()];
for(int i=0; i < arrayOfWords.length();i++){
ch[i]=arrayOfWords.charAt(i);
}
for(int i=s.length()-1;i>=0;i--){
System.out.print(invertedWord[i]);
}
}
}
}
【问题讨论】:
-
欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What topics can I ask about here?。 - 请不要在标题中使用所有大写单词。这被认为是大喊大叫,这是不礼貌的。
-
固定标题。谢谢
-
" 我正在按照步骤进行操作,但在第 38 行(FOR 循环)处遇到此错误" 我在这里看不到任何错误。请解释(在问题中)。
-
我的编译器在我最后一个 For 循环开始的那一行给了我一个语句错误(我在代码中做了一个注释来指定发现错误的位置。)我看不到任何错误。
标签: java arrays input jcreator