我必须阅读一个句子并保留它们的顺序,然后将这些单词写回来,例如:输入“我想要一个甜甜圈”,输出“I tnaw a tunod”。
我编写了代码,但它标记了 for 循环中的错误,老实说我不知道为什么。
import java.lang.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.println("Introduce your sentence");
String line;
line = read.nextLine();
int T = line.length();
int Wspace = 0;
int x = 0;
for (int i = 0; i < T; i++)
if(Character.isWhitespace(line.charAt(i)))
x = Wspace++;
for(int i = 0,int l = 0; i < T, l < x-1; i++, l++) //marks bugs here :({
if (!Character.isWhitespace(line.charAt(i)))
arrl[i] = arr[i];
else
i++;
}
}
}
答案 0 :(得分:1)
for循环有2个问题。
1.定义int i =0, int l =0;
这应该写成int i =0, l = 0;
在同一行中定义时,不需要第二个int。
条件不应以逗号(,)或分号(;)分隔。我们可以使用&amp;&amp;运营商将这两个条件加在一起。所以
我&lt; T,l&lt; X-1;
应该是
i < T && (l < x-1);
或者应该找到其他方式来表示条件。重写循环可以是另一种答案中定义的方式。
答案 1 :(得分:0)
你不能简单地使用带有两个变量的for语句: for(int i = 0,int l = 0; i&lt; T,l&lt; x-1; i ++,l ++
你在判刑的时候试过吗?
int i = 0, l=0;
while(i<T && l<x-1) {
您必须使用新关键字
为数组创建内存分配String arrl[] = new String[T];
import java.lang.*;
import java.util.*;
/**
*
* @author cesargarcia
*/
public class NewClass {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.println("Introduce your sentence");
String line;
line = read.nextLine();
int T = line.length();
int Wspace = 0;
int x = 0;
for (int i = 0; i < T; i++) {
if (Character.isWhitespace(line.charAt(i))) {
x = Wspace++;
}
}
String arrl[] = new String[T];
String arr[] = new String[T];
int i = 0, l=0;
while(i<T && l<x-1) {
{
if (!Character.isWhitespace(line.charAt(i))) {
arrl[i] = arr[i];
} else {
i++;
}
}
}
}
}