有没有更简单的方法来编写这个java程序?
这个程序将单词分隔成一个句子。请不要使用分割法,因为它不在我们学校的课程范围内。请不要吝啬地回答有没有更简单的方法来编写这个java程序?,java,Java,这个程序将单词分隔成一个句子。请不要使用分割法,因为它不在我们学校的课程范围内。请不要吝啬地回答 int length=0; int x=sent.length(); int a; int b=0; for(a=0;a<x;a++) { char z=sent.charAt(a); if(z==' ') { String hell=sent.substring(b,a);
int length=0;
int x=sent.length();
int a;
int b=0;
for(a=0;a<x;a++)
{
char z=sent.charAt(a);
if(z==' ')
{
String hell=sent.substring(b,a);
System.out.println(hell);
b=b+hell.length()+1;
}
}
一个更简单的方法是
for(char ch : sent.toCharArray()) {
if (ch == ' ') ch = '\n';
System.out.print(ch);
}
我个人会使用java.util.Scanner。如果这超出了你学校的范围,找一所新学校
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
String sentence = "Hello world of overflowing stacks";
Scanner sc = new Scanner(sentence);
while (sc.hasNext())
{
System.out.println(sc.next());
}
}
}
输出:
Hello
world
of
overflowing
stacks
您可以使用indexOf和子字符串执行此操作:
int index= word.indexOf(" ");
do{
System.out.println(word.substring(0, index));
word = word.substring(index + 1);
index = word.indexOf(" ");
} while (index != -1);
我们如何知道哪些方法可以使用,哪些方法不能使用。你可以写b=a+1;发送什么?字符串?长度是用来做什么的?检查@Nabin否,他只说不能使用string.split.java.util.Scanner在我们的范围内,但他们可以要求我们在做这样的问题时特别使用缓冲读取器,而不是使用Scanner类。印度学校,兄弟:PI不认为这些限制有什么问题。您应该先了解如何实现扫描仪,然后再开始将其视为理所当然。如果学校只教你如何使用一堆罐装的代码,这就是标准库,那么它并不是教你正确的方法。这一点很公平,尽管我从一开始就看到程序员的相反问题是他们试图编写所有东西,并且不知道如何有效地使用包括标准库在内的库。我想这是一个平衡游戏。这对一个有多个空格的短语有效吗?不过我喜欢这个简单@它会做同样的事情,即产生一个空行。唯一的区别是它会打印一个尾随词,而OP的代码如果后面没有空格,则不会打印最后一个词。