내 안드로이드 프로그램에서 유클리드 알고리즘을 사용해야합니다.유클리드 알고리즘
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView answer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
answer = (TextView) findViewById(R.id.textView1);
Button proceed = (Button) findViewById(R.id.button1);
proceed.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int ans = Euclid.gcd(6, 9);
answer.setText(ans);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
내 프로그램이하고 싶은 것, 가장 큰 공통 부문 (GCD)가 나는 버튼을 클릭 할 때 저를 줄 수 있습니다 : 여기 내 주요 활동이다. 그리고 나는이 코드 부분을 할 노력하고있어 : 여기
public void onClick(View v) {
int ans = Euclid.gcd(6, 9);
answer.setText(ans);
}
을 그리고 것은 내 유클리드 클래스입니다 :
public class Euclid {
// recursive implementation
public static int gcd(int p, int q) {
if (q == 0) return p;
else return gcd(q, p % q);
}
// non-recursive implementation
public static int gcd2(int p, int q) {
while (q != 0) {
int temp = q;
q = p % q;
p = temp;
}
return p;
}
public static void main(String[] args) {
int p = Integer.parseInt(args[0]);
int q = Integer.parseInt(args[1]);
int d = gcd(p, q);
int d2 = gcd2(p, q);
System.out.println("gcd(" + p + ", " + q + ") = " + d);
System.out.println("gcd(" + p + ", " + q + ") = " + d2);
}
}
것은이입니다 난 버튼 내 응용 프로그램 충돌을 클릭합니다. 그렇다면 문제는 어디에서 어떻게 해결할 수 있습니까? 나는 그것이 onClick 부분에 void임을 안다. 도와주세요.
LogCat을 게시 할 수 있습니까? –
얘들 아, 왜 투표를하는거야? –