2010-03-08 140 views
3

好吧,即时通讯相当新的android,但我设法教我自己的基本知识,我正在做一个应用程序,你按下按钮,并打开一个新的屏幕,它显示一个随机生成的数字,唯一的问题是我不知道如何生成和显示随机数,我一直在网上搜索了很多年,只发现了很少的信息片断,这对我来说确实有意义。 :/如何生成一个随机数,然后将其显示在屏幕上?

如果有人可以帮助我,甚至给我应指导我在正确的方向信息的只是一点点,那就太棒

编辑:(下面的注释)

super.onCreate(savedInstanceState); 
    TextView tv = new TextView(this); 
    tv.setText("Random Number : " + Math.random()); 
    int random = (int)Math.ceil(Math.random()*100); 
    setContentView(tv); 

那代码,我有,我在哪里出了错^^^^:/

+0

看看你的变量命名密切随机。你在哪里使用它? – Jataro 2010-03-09 23:41:17

+0

没问题,更改: tv.setText(“Random Number:”+ Math.random()); int random =(int)Math.ceil(Math.random()* 100); 至 int random =(int)Math.ceil(Math.random()* 100); tv.setText(“Random Number:”+ random); – Ralphleon 2010-03-09 23:58:37

+0

谢谢你这么多,我终于得到了随机数的坑,你一直是一个很好的帮助:) :) – Dan 2010-03-10 22:21:35

回答

8

Android的文档非常好。这里是一个Hello World应用程序:

http://developer.android.com/guide/tutorials/hello-world.html

只要改变

tv.setText("Hello, Android"); 

tv.setText("Random Number: " + Math.random()); 

,并确保导入数学库(如果你使用Eclipse,按Ctrl + Shift + O)。

+0

谢谢你这么多!你是一个救生员:D 只是一个额外的问题,但有没有办法为随机数设置一个边界,我希望它在0和100之间:) – Dan 2010-03-09 22:41:36

+0

当然,正常的技巧是采取数字(从0-> 1),然后乘以最大值然后循环: int random =(int)Math.ceil(Math.random()* 100); – Ralphleon 2010-03-09 23:09:34

1

其实,你可以很容易地使用:

yourVariable = Math.random(); 

应该可以在Android中使用。给你一个介于0和1之间的数字。然后你使用方法.setText(yourVariable)将你的变量赋给TextView ...

0
int number = (new Random().nextInt(100)); 

的随机数将被分配给可变数目的,每次使用

5

下面码时间在整型返回值: -

public static int randomBox() { 

    Random rand = new Random(); 
    int pickedNumber = rand.nextInt(100); 
    return pickedNumber; 

} 
2
Random rand = new Random(); 
String randomInt = list.get(rand.nextInt(list.size())); 

它可以是用于帮助你

0

不同的方式,但简单的:)

Calendar c = Calendar.getInstance(); 
    final int seconds = c.get(Calendar.SECOND); 

    Random r = new Random(); 
    final int n = r.nextInt(80 - 65) + 65; 

    Toast.makeText(getApplicationContext(), ""+ n + seconds, Toast.LENGTH_SHORT).show(); 
2
Random r = new Random(); 

    StringBuffer temp = new StringBuffer("Random numbers:"); 
    for (int i = 0; i < 10; i++) { 
     int i1 = r.nextInt(100 - 0) + 0; 
     temp.append(String.valueOf(i1)); 
     temp.append(String.valueOf(" ")); 
    } 
    return temp.toString(); 
0
 Random r = new Random(); 
     rendomNumber = r.nextInt(80- 65) + 65; 
     System.out.print(""+rendomNumber)