一个简单的java题目,但是报错我无法解决 报错提示里面有UTF-8 -classpath ,当我把整个while循环注释掉不会报错
题目描述
一个大V直播抽奖,奖品是现金红包,分别有(2,588,888,100e,1000五个奖金。请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。
打印效果如下:(随机顺序,不一定是下面的顺序)
888元的奖金被抽出
588元的奖金被抽出
18080元的奖金被抽出
1000元的奖金被抽出
2元的奖金被抽出
报错:/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=49288:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/xiaozheng/IdeaProjects/project/out/production/one two.redPacket
代码部分
package two;
import java.util.Random;
public class redPacket {
public static void main(String[] args){
int []a={2,588,888,1000,10000};
int []b=new int[5];
int count=0;
while(count!=5){
Random r=new Random();
int j=r.nextInt(5);
for (int i = 0; i <count; i++) {
if(b[i]==a[j]){
break;
}
b[count]=a[j];
count++;
}
}
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
}
}
关于#java#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 帮你重写了一个,如下:
public static void main(String[] args){ int [] a={2,588,888,1000,10000}; Random random = new Random(); Set<Integer> set = new HashSet<>(); int count=0; while(count<5) { int temp = random.nextInt(5); if (!set.contains(temp)) { System.out.println(a[temp]+"元的奖金被抽出"); set.add(temp); count++; } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化
- ¥15 Mirare PLUS 进行密钥认证?(详解)
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥20 想用ollama做一个自己的AI数据库
- ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
- ¥15 请问怎么才能复现这样的图呀