java - 我的程序不允许我调用不同类的方法

标签 java android eclipse compiler-construction loops

我正在尝试创建一个 Android 程序。程序的工作原理是这样的,用户输入他想要扔的骰子的数量,程序就会执行此操作。我的花括号到处都是,我不想添加或删除它们。我用来控制输入验证的 while 语句不起作用。

你能帮我解决我的大括号问题并修复我的 while 语句吗?

这是我的程序的样子

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

<p></p>

<p>package com.warhammerdicerrolleralpha;</p>

<p>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;</p>

<p>public class myMain extends Activity 
{</p>

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  --;
                }
            }

       });      
}

}

最佳答案

确定缺少的大括号应该去哪里的一个简单“技巧”是使用 Eclipse 的“正确缩进”功能。缩进将为您提供有关需要在何处插入或删除大括号的线索。

<小时/>

“>”运算符的问题是 enternumberofdice 不是原始数字类型。它的类型是EditText;即文本输入小部件。

提示:您必须从小部件中提取“值”作为文本(即字符串),然后将文本转换为原始数字。

关于java - 我的程序不允许我调用不同类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287045/

相关文章:

android - 烦人的 "Errors running builder ' Android 预编译器“关于项目”对话框

Java - 如何将方法作为参数传递?

java - 画钢琴

java - Optional.ofNullable() 中的空指针异常

android - Android在Google Play中使用哪种 View

Java - 人类可玩的服务器/客户端多人游戏

java - 内部 JAR 使用文件系统上的文件

android - Java 以非零退出值 2 完成 - Android Gradle

java - R 无法解析为变量 - Hello World

java - 添加导航按钮到 map