Android Studio (Java): Continuer le nombre premier pour la boucle sur la presse de bouton
Je veux pouvoir afficher le nombre premier suivant chaque fois que le bouton est cliqué mais je ne trouve pas de moyen pour que cela fonctionne. - On aider s'il vous plaît?
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button primeButton = (Button) findViewById(R.id.primeButton);
primeButton.setOnClickListener(
new Button.OnClickListener(){
public void onClick(View v){
TextView primeText = (TextView) findViewById(R.id.primeText);
int max = 500;
for(int i=2; i<=max; i++) {
boolean isPrimeNumber = true;
for (int j = 2; j <= i; j++) {
if (i % j == 0 ) {
isPrimeNumber = false;
break;
}
}
if (isPrimeNumber){
primeText.setText(Integer.toString(i));
}
}
}
}
);
}
}
1
Author: Ninjakannon, 2015-04-06
2 answers
Essayez ceci
public class MainActivity extends Activity {
Button b;
int max = 500;
TextView vTextView;
int j = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button) findViewById(R.id.button1);
vTextView = (TextView) findViewById(R.id.textView1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for (int i = j; i <= max; i++) {
if (isPrimeNumber(i)) {
vTextView.setText(i+"");
j = i+1;
break;
}
}
}
});
}
public boolean isPrimeNumber(int number) {
for (int i = 2; i <= number / 2; i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
2
Author: Nivedh, 2015-04-06 14:02:06
Pour trouver un nombre premier, les nombres premiers entre deux nombres et la somme d'un nombre premier
public class MainActivity extends AppCompatActivity {
private EditText etInput;
private EditText et_from, et_to;
private Button btnCheck, btn_print;
private TextView tvResult;
private int inputnumber;
private int fromNumber, toNumber;
private boolean isPrimeNumber = true;
private TextView tv_prime_sum;
private int primeNumbersSum;
private TextView tv_check;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
btnCheck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!(etInput.getText().toString().trim() != null && etInput.getText().toString().trim().length() > 0)) {
etInput.setError("Please enter the number");
} else {
inputnumber = Integer.parseInt(etInput.getText().toString());
for (int i = 2; i <= inputnumber / 2; i++) {
if (inputnumber % i == 0) {
isPrimeNumber = false;
break;
}
}
if (isPrimeNumber) {
tv_check.setText("The given number " + inputnumber + " is a prime number");
} else {
tv_check.setText("The given number " + inputnumber + " is not a prime number");
}
isPrimeNumber = true;
}
}
});
btn_print.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!(et_from.getText().toString().trim() != null && et_from.getText().toString().trim().length() > 0)) {
et_from.setError("Please enter the number");
} else if (!(et_to.getText().toString().trim() != null && et_to.getText().toString().trim().length() > 0)) {
et_to.setError("Please enter the number");
} else {
fromNumber = Integer.parseInt(et_from.getText().toString());
toNumber = Integer.parseInt(et_to.getText().toString());
if (fromNumber > toNumber) {
fromNumber = fromNumber - toNumber;
toNumber = fromNumber + toNumber;
fromNumber = toNumber - fromNumber;
}
StringBuilder stringBuilder = new StringBuilder();
for (int j = fromNumber; j <= toNumber; j++) {
for (int i = 2; i <= j / 2; i++) {
if (j % i == 0) {
isPrimeNumber = false;
break;
} else {
isPrimeNumber = true;
}
}
if (isPrimeNumber) {
Log.v("Primenumber", "list" + j);
primeNumbersSum = primeNumbersSum + j;
stringBuilder.append(j);
stringBuilder.append(",");
} else {
}
}
tvResult.setText(stringBuilder.toString());
tv_prime_sum.setText("Total sum of prime numbers: " + primeNumbersSum);
isPrimeNumber = true;
primeNumbersSum = 0;
}
}
});
}
private void findViews() {
etInput = findViewById(R.id.et_input);
btnCheck = findViewById(R.id.btn_check);
tvResult = findViewById(R.id.tv_result);
tv_prime_sum = findViewById(R.id.tv_prime_sum);
et_from = findViewById(R.id.et_from);
et_to = findViewById(R.id.et_to);
btn_print = findViewById(R.id.btn_print);
tv_check = findViewById(R.id.tv_check);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="enter the number"
android:inputType="number"
android:visibility="visible" />
<Button
android:id="@+id/btn_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/et_input"
android:layout_centerHorizontal="true"
android:layout_margin="10dp"
android:text="Check" />
<TextView
android:id="@+id/tv_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_check"
android:layout_centerHorizontal="true"
android:layout_margin="10dp"
android:text="print the number is prime or not" />
<EditText
android:id="@+id/et_from"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_check"
android:hint="from number"
android:inputType="number" />
<EditText
android:id="@+id/et_to"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/et_from"
android:hint="to number"
android:inputType="number" />
<Button
android:id="@+id/btn_print"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/et_to"
android:layout_centerHorizontal="true"
android:layout_margin="10dp"
android:text="Print" />
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_print"
android:layout_centerHorizontal="true"
android:text="prints the list of prime numbers" />
<TextView
android:id="@+id/tv_prime_sum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_result"
android:layout_centerHorizontal="true"
android:layout_margin="10dp" />
</RelativeLayout>
0
Author: viveksuggu, 2018-09-24 11:47:20