最简单的答案是简单地说,使用collate(a, b)
并将值分配回变量或将其打印到屏幕上......
较长的答案以同样的方式结束,但首先指出您的程序目前实际上不会运行......
public void main(String[] args){
不是您的程序的有效入口点。相反,它应该是public static void main(String[] args){
现在,如果你这样做,你最终会得到一些编译器错误,说明你的应用程序的某些非静态部分不能从静态上下文中访问......
最简单的解决方案是提供一个可以从...调用constructor
的类Collate
main
public class Collate{
String result;
String a;
String b;
public void main(String[] args){
new Collate();
}
public Collate() {
System.out.printf("Enter 1st word: ");
Scanner in1 = new Scanner(System.in);
a = in1.next();
System.out.printf("Enter second word: ");
Scanner in2 = new Scanner(System.in);
b = in2.next();
String collation = collate(a, b);
System.out.println(collation);
}
public String collate(String a, String b){
String accumulator;
this.a = a;
this.b = b;
for(int i = 0; i < a.length(); i++)
{
result += a.charAt(i);
result += b.charAt(i);
}
return (result);
}
}
更新
我似乎对责任产生了很好的影响。虽然它可以争辩说类的责任是询问用户他们想做什么和做什么,但也可以说类应该是自包含的它的任务,例如......
public class Collate{
String result;
String a;
String b;
public void main(String[] args){
System.out.printf("Enter 1st word: ");
Scanner in1 = new Scanner(System.in);
a = in1.next();
System.out.printf("Enter second word: ");
Scanner in2 = new Scanner(System.in);
b = in2.next();
Collate collate = new Collate();
String collation = collate.collate(a, b);
System.out.println(collation);
new Collate();
}
public String collate(String a, String b){
String accumulator;
this.a = a;
this.b = b;
for(int i = 0; i < a.length(); i++)
{
result += a.charAt(i);
result += b.charAt(i);
}
return (result);
}
}
因为严重缺乏上下文,所以不可能找到具体的解决方案......