开发者

My program won't allow me to call a method from a different class

开发者 https://www.devze.com 2023-02-16 06:38 出处:网络
I\'m trying to create an android program. The program works like this, a user enters the number of dice he wants to throw and the program does it. My curly brace are all over the place and I don\'t we

I'm trying to create an android program. The program works like this, a user enters the number of dice he wants to throw and the program does it. My curly brace are all over the place and I don't were to add or remove them. My while statement I use to control input verification, does not work.

Can you help fight my curly braces and fix my while statement.

Here how my program looks like

http://img232.imageshack.us/i/alphascreen.png/

package com.warhammerdicerrolleralpha;

import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView;

public class myMain extends Activity {

EditText enternumberofdice; ImageView i = new ImageView(this); { i.setAdjustViewBounds(true); } private int myFaceValue; /** * Called when the activity is first created. * * @return */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public int roll() { int val = (int) (6 * Math.random() + 1); // Range 1-6 setValue(val); return val; } int myNum = 0; { try { myNum = Integer.parseInt(enternumberofdice.getText().toString()); } catch(NumberFormatException nfe) { enternumberofdice.setText("Does not work"); } } public int getValue() { return myFaceValue; } public void setValue(int myFaceValue) { this.myFaceValue = myFaceValue; } { switch (myFaceValue) { case 5: i.setImageResource(R.drawable.dicefive); break; case 1: i.setImageResource(R.drawable.diceone); break; case 3: i.setImageResource(R.drawable.dicethree); break; case 2: i.setImageResource(R.drawable.dicetwo); break; case 4: i.setImageResource(R.drawable.dicefour); break; case 6: i开发者_如何学编程.setImageResource(R.drawable.dicesix); break; } Button buttonGenerate = (Button)findViewById(R.id.button1); final TextView textGenerateNumber = (TextView)findViewById(R.id.text4); enternumberofdice = (EditText) findViewById(R.id.enternumberofdice); buttonGenerate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { while (myNum > 0 ) { // TODO Auto-generated method stub textGenerateNumber.setText(String.valueOf(enternumberofdice)); roll(); myNum --; } } }); }

}


A simple "trick" for figuring out where the missing braces ought to go is to use Eclipse's "correct indentation" function. The indentation will give you clues as to where you need to insert or remove braces.


The problem with the '>' operator is that enternumberofdice is not a primitive number type. It is of type EditText; i.e. a text entry widget.

Hint: you have to extract the "value" from the widget as text (i.e. a String), then convert the text to a primitive number.


Some problems I notice:

1) It looks to me like your OnCreate() method doesn't have closing brackets.

2) Remove the } right after this line: this.myFaceValue = myFaceValue; and add a } in place of the // NOT WORKING line.

0

精彩评论

暂无评论...
验证码 换一张
取 消