我刚刚开始使用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);
}
}
我请求你的帮助解决它。该怎么做:
答案 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必须是静态方法才能工作。