最も簡単な答えは、簡単に言って、使用collate(a, b)
して、値を変数に割り当てるか、画面に出力することです...
より長い答えは同じように終わりますが、プログラムが実際には現時点では実行されないことを指摘することから始まります...
public void main(String[] args){
プログラムの有効なエントリ ポイントではありません。代わりに、public static void main(String[] args){
これを行うと、アプリケーションの非静的部分に静的コンテキストからアクセスできないことを示す多くのコンパイラエラーが発生します...
最も簡単な解決策は、から呼び出すことができるクラスにaconstructor
を提供することです...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);
}
}
コンテキストが大幅に欠落しているため、具体的な解決策に到達することは不可能です...