Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有更简单的方法来编写这个java程序?_Java - Fatal编程技术网

有没有更简单的方法来编写这个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的代码如果后面没有空格,则不会打印最后一个词。