亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

6-5的作業半成品輸出不了東西

我寫出來的東西一開始能輸出些亂碼或符號。

之后修改了一些BUG后現在徹底沒東西了是為什么。上代碼和圖片http://img1.sycdn.imooc.com//5dcf7365000122a511440912.jpg

package com.imooc.collection;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

import java.util.Random;


public class CollectionsTest {


public void testSort3() {

List<String> stringList2=new ArrayList<String>();

Random random=new Random();

String str[]=new String [10];

for(int i=0;i<10;i++){

do {

int n=random.nextInt(10);

char zifu[]=new char[10];

for(int a=0;a<n;a++) {

int shu=random.nextInt(62);

if(shu<26) {

zifu[a]=(char)(shu+65);

}else if(shu<52) {

zifu[a]=(char)(shu+71);

}else {

zifu[a]=(char)(shu-4);

}

}

str[i]=Arrays.toString(zifu);

zifu=null;

}while(stringList2.contains(str[i]));

}

System.out.println("-------排序前------");

for(String string:stringList2) {

System.out.println("元素:"+string);

}

Collections.sort(stringList2);

System.out.println("-------排序后------");

for(String string:stringList2) {

System.out.println("元素:"+string);

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub


CollectionsTest ct=new CollectionsTest();

ct.testSort3();

}


}


正在回答

4 回答

你是來搞笑的嗎?你遍歷stringList2,而你new了一個List對象后,根本就沒有add添加任何屬性,怎么可能會有數據?

0 回復 有任何疑惑可以回復我~
#1

慕無忌8817699 提問者

是的,算法沒問題。不過toString()好像帶逗號的。準備往前找下不帶逗號的方法
2019-11-16 回復 有任何疑惑可以回復我~
#2

慕無忌8817699 提問者

謝謝看了我代碼
2019-11-16 回復 有任何疑惑可以回復我~
#3

每天奔跑的小蝸牛 回復 慕無忌8817699 提問者

你用eclipse開發,出現問題了,可以debug調試代碼,我都幾年沒寫代碼了,重新回顧java基礎
2019-11-16 回復 有任何疑惑可以回復我~
#4

chensq01

厲害!
2020-03-13 回復 有任何疑惑可以回復我~
查看1條回復
附運行結果圖

http://img1.sycdn.imooc.com//5e05787a000135aa05220576.jpg

0 回復 有任何疑惑可以回復我~
#1

chensq01

??
2020-03-13 回復 有任何疑惑可以回復我~
public?static?void?main(String[]?args)?{
????Random?random?=?new?Random();
????List<String>?list?=?new?ArrayList<String>();
????//?定義一個包含數字字母(大小寫)的長字符串用于程序進行隨機生成
????String?str?=?"951abcdefGhi753JKLMNopq46RSTuvwxY82Z";
????//?用于接收隨機生成的字符串
????StringBuffer?stringBuffer;
????for(int?i?=?0;?i?<?10;?i++)?{
????????do?{
????????????stringBuffer?=?new?StringBuffer();
????????????//?通過for循環生成字符串的隨機長度(+1是為了避免隨機數為0導致生成空字符串)
????????????for(int?j?=?0;?j?<?random.nextInt(9)+1;?j++)?{
????????????????//從str中獲取一個隨機的字符追加到stringBuffer
????????????????stringBuffer.append(str.charAt(random.nextInt(str.length())));
????????????}
????????????//?確保當前字符串在list中不存在
????????}while?(list.contains(stringBuffer.toString()));
????????//?將生成的字符串添加到list
????????list.add(stringBuffer.toString());
????}
????System.out.println("排序前:");
????list.forEach(System.out::println);
????Collections.sort(list);
????System.out.println("排序后:");
????list.forEach(System.out::println);
}


0 回復 有任何疑惑可以回復我~
#1

慕慕7440864

list.forEach(System.out::println);這種寫法是java8新特性。。。
2019-12-27 回復 有任何疑惑可以回復我~

解決了。我竟然沒有在其中用add把str[i]加進去

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409766    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

6-5的作業半成品輸出不了東西

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號