java中数组内编号_java - 在android中每次在范围内从数组中获取唯一编号 - SO中文参考 - www.soinside.com...

我想创建一个应用程序,它将数字存储在一个数组中,当点击一个按钮时。该数组将从数组中获取一个唯一的随机数,并将其添加到HashSet中。此过程将继续,直到数组变空。并且,当数组为空或HashSet已满时,它将显示“数组为空且Hashset已满”的消息。我自己尝试了,但我无法使它工作。

这是我的代码:activity_main.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:padding="8dp">

android:id="@+id/array1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_alignParentStart="true"

android:layout_marginBottom="172dp"

android:layout_marginStart="130dp"

android:text="Button" />

android:id="@+id/text1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentStart="true"

android:layout_centerVertical="true"

android:layout_marginStart="152dp"

android:text="TextView" />

android:id="@+id/textView3"

android:layout_width="276dp"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_alignStart="@+id/array1"

android:layout_marginStart="-37dp"

android:layout_marginTop="140dp"

android:text="Range from 0 to 10"

android:textSize="20sp" />

main activity.Java

package com.akarki.mathgenius;

import android.content.Intent;

import android.icu.text.UnicodeSetSpanner;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

import java.util.ArrayList;

import java.util.HashSet;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

Random r;

HashSet set;

ArrayList list;

TextView text1;

Button array1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

array1 = (Button) findViewById(R.id.array1);

text1 = (TextView) findViewById(R.id.text1);

set = new HashSet();

list = new ArrayList(10);

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

list.add(i);

}

array1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

arraylist(list,set);

}

});

}

public void arraylist(ArrayList list, HashSet set){

int random = r.nextInt(list.size());

arrayExist((Integer) list.get(random),set);

}

public void arrayExist(int num,HashSet set){

for(int i=0;i

if (!set.contains(num)) {

set.add(num);

text1.setText(num);

Toast.makeText(MainActivity.this,"Unique Value",Toast.LENGTH_SHORT).show();

list.remove(num);

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值