java 把charAt换成什么

我是新手。题目是随即出一个数,99999>=num>=0然后把他反过来。例如随即出34567来,最后就要显示76543.我自己写的,但是charAt()那里有错误,应该怎... 我是新手。
题目是随即出一个数,99999>=num>=0
然后把他反过来。
例如随即出34567来,最后就要显示76543.
我自己写的,但是charAt()那里有错误,应该怎么写呀
public class Assignment2_Question1b
{
public static void main (String[] args)
{
int[] num = {(int)(Math.random()*100000)};
//num.toString();
int count = num.length;
while (count>=0)
{
count--;
System.out.print (num.charAt(count)); }
}
}
应该怎样改才可以呢?不用charAt,应该用什么呢?
谁先说的对,分就给谁吧
按照2楼的做了,没错误了,但是运行的时候说Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
还是出现Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
改了一下,现在出来的不是数,而是[I@1fb8ee3,其他的都对了
展开
 我来答
青城兄弟
2010-01-20 · TA获得超过110个赞
知道答主
回答量:34
采纳率:0%
帮助的人:35万
展开全部
首先说明一下,,产生的随机数不是一个数组!!!

public class Assignment2_Question1b {
public static void main(String[] args) {
int num = (int) (Math.random() * 100000);
String numStr = String.valueOf(num);
System.out.println("产生的随机数为:" + numStr);

// 定义临时变量存储输出字符串
String outStr = "";

for (int i = numStr.length() - 1; i >= 0; i--) {
outStr += numStr.charAt(i);
}

System.out.println("随机数进行运算后输出为:" + outStr);
}
}

祝你学习愉快!!
yueqiulin
2010-01-20 · TA获得超过429个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:344万
展开全部
你这个不是字符数组,不能用charAt方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3d7451c
2010-01-20 · 超过17用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:42.7万
展开全部
num应是字符串类型
public char charAt(int index)返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。
你可以这样改。
String temp = String.valueof(num);
int count = num.length;
while (count>=0)
{
count--;
System.out.print (temp.charAt(count)); }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z0503020310
2010-01-20 · TA获得超过128个赞
知道答主
回答量:77
采纳率:0%
帮助的人:54.9万
展开全部
charAt是针对字符串的操作,返回值是一个char字符,你的num数组就num[0]是你产生的随机数,而且你的int数组的长度只为1,而且你的循环会空指针异常的,刚才写了以个程序只是把你的程序改的能运行了,你的循环有空指针异常的,楼上的写的charAT是对的,其实不用charAT的可以直接这么写
public class Assignment2_Question1b {
public static void main(String[] args) {
int sum = 0;
int num = (int) (Math.random() * 100000) ;
// num.toString();
System.out.println(num);
while(num>0){
sum = sum*10+ num%10;
num=num/10;
}
System.out.println(sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式