打印返回值

时间:2016-05-14 19:11:19

标签: java

我刚刚开始使用Java,到目前为止只是在线解决问题,你不应该编写程序的全部功能,而只是调整几行代码到已经组织的代码

然而,我仍然在努力在IntelliJ Idea的编译程序中组织我的代码,感到困惑,例如。如何正确编写方法调用。 这就是我遇到的问题:来自codingbat.com的一个例子:

- 给定一个字符串,返回一个由第一个字符串组成的新字符串,所以“Hello”产生“Hlo”。

我已经在网上找到了一个解决方案,但现在我想在Idea中运行它,使用main方法,从控制台输入Scanner / BufferedReader等。看起来我错过了什么...

import java.util.Scanner;
public class Bat
{
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        printString();
         }

    public String stringBits(String str) {
        String result = "";
        for (int i = 0; i<str.length();i += 2) {
            result += str.substring(i, i+1);
        }
        return result;
    }
    public static void printString () {
        System.out.println(result);
    }
}

我请求你的帮助解决它。该怎么做:

  1. 从控制台读取一个字;
  2. 创建一个新字符串;
  3. 打印出来。

2 个答案:

答案 0 :(得分:2)

两种选择:

  • 制作stringBits static
  • 创建类Bat的实例并调用成员方法

第一个解决方案 - 简单,不需要太多改变

import java.util.Scanner;

public class Bat {
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        printString(stringBits(str));
    }

    public static String stringBits(String str) {
        String result = "";
        for (int i = 0; i < str.length();i += 2) {
            result += str.substring(i, i + 1);
        }
        return result;
    }

    public static void printString (String string) {
        System.out.println(string);
    }
}

第二种解决方案 - 进步更多

import java.util.Scanner;

public class Bat {

    private String string;

    public Bat(String string) {
        this.string = string;
    }

    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();

        Bat bat = new Bat(str);
        bat.printStringBits();
    }

    private String stringBits() {
        String result = "";
        for (int i = 0; i < string.length(); i += 2) {
            result += string.substring(i, i + 1);
        }
        return result;
    }

    public void printStringBits() {
        System.out.println(stringBits());
    }
}

答案 1 :(得分:1)

您的结果变量只能在&#34; stringBits&#34;中访问。方法。由于该方法返回一个字符串,您可以执行以下操作来打印它:

System.out.println(stringBits(string)); //Call in main method in place of printString();

编辑:我的代码不是一个有效的例子。请注意,stringBits必须是静态方法才能工作。