第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

6.5課后練習(xí)程序求指導(dǎo) 數(shù)組越界?

package sss;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class collectionstest {


?? ?public void sorttext3(){
?? ??? ?List<String> a = new ArrayList<String>();
?? ??? ?//String[] b = new String[10];
?? ??? ?String st = "abcdefghijklmnopqrstuvwxyz"
?? ??? ??? ??? ?+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
?? ??? ??? ??? ?+ "0123456789";
?? ??? ?Random c = new Random(10);
?? ??? ?int i=0;
?? ??? ?StringBuffer sb = new StringBuffer();
?? ??? ?
?? ??? ??? ?for(int z=0;z<10;z++){
?? ??? ??? ?
?? ??? ??? ??? ?do{
?? ??? ??? ??? ??? ?int j=c.nextInt();
?? ??? ??? ??? ?for(;i<j;i++){
?? ??? ??? ??? ?Random d = new Random(62);
?? ??? ??? ??? ?int num = d.nextInt();
?? ??? ??? ??? ?sb.append(st.charAt(num));
?? ??? ??? ??? ??? }
?? ??? ??? ??? ?}while(a.contains(sb.toString()));
?? ??? ??? ??? ?a.add(sb.toString());
?? ??? ??? }
?? ??? ?System.out.println("···········排序前");
?? ??? ??? ?for (String string : a) {
?? ??? ??? ??? ?System.out.println("元素"+a);
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?Collections.sort(a);
?? ??? ??? ?
?? ??? ?System.out.println("``````````排序后");?? ?
?? ??? ??? ?for (String string : a) {
?? ??? ??? ??? ?System.out.println("元素 "+a);
?? ??? ??? ?}
?? ??? ?
?? ??? ?
?? ?}

?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?collectionstest a = new collectionstest();
//?? ??? ?a.testsort1();
//?? ??? ?a.sortText2();
?? ??? ?a.sorttext3();
?? ?}

}

正在回答

4 回答

Random num=new Ramdom(62);這條語句是可以出現(xiàn)62的,但是你的String st 的范圍為0~61,所以會出現(xiàn)越界,
另外你的foreach語句遍歷a,為什么不System.out.println(string);而要輸出a那?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_什么亡魂溺海沒有跳海實在_03283094 提問者

非常感謝!
2016-12-12 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_什么亡魂溺海沒有跳海實在_03283094 提問者

謝謝 我輸出a 那個是手誤了 我還想 怎么按照樓上那個代碼修改完是一個二維數(shù)組呢 謝謝 你解答了我兩個問題
2016-12-12 回復(fù) 有任何疑惑可以回復(fù)我~
#3

rjyb22 回復(fù) qq_什么亡魂溺海沒有跳海實在_03283094 提問者

不用謝,以后你看見別人提的問題,自己會也幫幫別人就好。
2016-12-12 回復(fù) 有任何疑惑可以回復(fù)我~

http://img1.sycdn.imooc.com//58b2da760001078413660768.jpg

random(i)取的數(shù)不是0-(i-1么?

0 回復(fù) 有任何疑惑可以回復(fù)我~

? public void sorttext3(){

? ? ? ? List<String> a = new ArrayList<String>();

? ? ? ? //String[] b = new String[10];

? ? ? ? String st = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

? ? ? ? Random c = new Random();


? ? ? ? ? ? for(int z=0;z<10;z++){

? ? ? ? ? ? StringBuffer sb = new StringBuffer();

? ? ? ? ? ? ? ? do{

? ? ? ? ? ? ? ? ? ? int j=c.nextInt(10)+1;

? ? ? ? ? ? ? ? for(int i=0;i<j;i++){

? ? ? ? ? ? ? ? //Random d = new Random(62);

? ? ? ? ? ? ? ? int num = c.nextInt(st.length());

? ? ? ? ? ? ? ? sb.append(st.charAt(num));?

? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? }while(a.contains(sb.toString()));

? ? ? ? ? ? ? ? a.add(sb.toString());

? ? ? ? ? ?}


把你的StringBuffer 對象放到了for循環(huán)里了 ,要不每次循環(huán),都會把之前循環(huán)過了字符串加里面,還有就是數(shù)組越界,不清楚怎么回事,不過改的代碼,是沒問題的!


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_什么亡魂溺海沒有跳海實在_03283094 提問者

不好意思阿 我以為可以選兩個最佳 = = 你的回答也很好
2016-12-12 回復(fù) 有任何疑惑可以回復(fù)我~

你定義的st,直接把所有的元素寫在一起,應(yīng)該就好了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學(xué)習(xí)       409768    人
  • 解答問題       4510    個

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

進入課程

6.5課后練習(xí)程序求指導(dǎo) 數(shù)組越界?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號