J'ai un code qui fonctionnait plus tôt et qui semble maintenant lancer quelques erreurs en ce qui concerne une déclaration de cas que j'ai pour un événement de bouton. La structure du cas regarde quel bouton est cliqué et fait quelque chose et c'est le second cas qui m'aggrave. L'erreur dans Eclipse sur la ligne qui dit cas R.id.button2: me dit "erreur de syntaxe sur jeton" cas ", @ attendu" et sur la ligne ci-dessous (intention), il est dit "erreur de syntaxe, insérer" "pour compléter l'affirmation". Cependant, il semble que les messages d'erreur changent constamment. Plus tôt, Eclipse me harcelait pour mettre un ";" au lieu d'un @ et je ne sais pas pourquoi puisque le code était bien plus tôt. J'ai essayé de mettre ";" après le colon dans la deuxième ligne case et jette encore une erreur. Je ne sais pas pourquoi cela se produit tout à coup ou pourquoi les messages d'erreur changent constamment, malgré le fait de taper ce qu'il veut (ce qui fixe généralement les choses dans Eclipse). Ai-je manqué quelque chose dans ma structure de cas? Merci.Erreur de syntaxe en Java
Voici mon code (affichage en pleine):
import java.text.DecimalFormat;
import java.text.NumberFormat;
import android.R.integer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Button;
import android.widget.TextView;
import android.view.View;
public class MainActivity extends Activity {
EditText mile,diesel;
Button button1, button2;
TextView tv, tv2, tv3;
private double x, y, z, costper, gallon, litres, ophours, ophour, drive, stopdrive;
CheckBox checkBox1, checkBox2, checkBox3, checkBox4;
NumberFormat format = NumberFormat.getCurrencyInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mile= (EditText) findViewById(R.id.mile);
checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
checkBox3 = (CheckBox) findViewById(R.id.checkBox3);
checkBox4 = (CheckBox) findViewById(R.id.checkBox4);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(onClickListener);
button2.setOnClickListener(onClickListener);
tv = (TextView) findViewById(R.id.cost);
tv2 = (TextView) findViewById(R.id.cpm);
tv3 = (TextView) findViewById(R.id.gallons);
diesel= (EditText) findViewById(R.id.diesel);
}
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(final View v) {
switch(v.getId()){
case R.id.button1:
x=Double.parseDouble(mile.getText().toString());
y=Double.parseDouble(diesel.getText().toString());
ophour = x/55;
ophours = 0;
if (ophour>10){
drive = ophour/10;
if (drive>1) {
stopdrive = drive-1;
ophour = ophour + 10;
if (stopdrive>1);
ophour = ophour + (10*stopdrive);
if (stopdrive<1);
ophour = ophour + 10;
}
}
ophours = ((x/55)*10);
}
if (checkBox2.isChecked()) {
x=x*2;
}
if (checkBox1.isChecked()) {
x=x*0.62137;
}
gallon = x/5.5;
if (checkBox4.isChecked()) {
gallon = gallon + (ophour*1.1);
}
if (checkBox3.isChecked()) {
litres = gallon*3.785;
tv3.setText(new DecimalFormat("####.##").format(litres)+"L");
}
z=(gallon*y)+(x*0.655);
costper=z/x;
tv.setText(format.format(z));
tv2.setText(format.format(costper)+"/mile");
tv3.setText(new DecimalFormat("####.##").format(gallon)+"gal.");
break;
case R.id.button2:
Intent browserIntent =
new Intent(Intent.ACTION_VIEW, Url.parse("http://www.google.com"));
startActivity(browserIntent);
break;
}
;};}
Je vois ce que j'ai fait de mal. Pour être honnête, je pensais mais mis; sur ceux si les déclarations lol. Pouah. Rien que le café ne peut réparer. Je me souviendrai du raccourci de format car, honnêtement, quand Eclipse commence à demander à mettre} et; sur une ligne pour le finir, c'est quand les choses commencent à lorgner gaiement. Merci de m'avoir montré comment gérer ça, Eric. – Shawner
Pas de problème. Bonne chance! :) – Eric