import?java.util.Scanner;
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、赤峰ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的赤峰網(wǎng)站制作公司
import?java.util.Calendar;
public?class?Yugi?{
public?static?void?main(String[]?args)?{
Scanner?scanner?=?new?Scanner(System.in);
System.out.println("輸入一個(gè)時(shí)間:?");
String[]?strs?=?scanner.nextLine().trim().split("[^\\d]+");
scanner.close();
Calendar?calendar?=?Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,?Integer.parseInt(strs[0]));
calendar.set(Calendar.MINUTE,?Integer.parseInt(strs[1]));
calendar.set(Calendar.SECOND,?Integer.parseInt(strs[2]));
calendar.add(Calendar.SECOND,?1);
System.out.format("下一秒是:%1$tH點(diǎn)%1$tM分%1$tS秒",?calendar);
}
}
public static void main(String[] args) {
String[] name={"T恤","網(wǎng)球鞋","網(wǎng)球拍"};
String[] money={"¥245”,"¥570“,“¥320”};
System.out.println("*******************************");
System.out.println("請選擇購買的商品編號(hào):\n");
System.out.println("1.T恤 2.網(wǎng)球鞋 3.網(wǎng)球拍");
System.out.println("*******************************\n");
Scanner input=new Scanner(System.in);
Boolean type=true;
while (type) {
System.out.println("請輸入商品編號(hào)");
int no=input.nextInt();
System.out.println(name[no]+"\t"+money[no]+"\n");
System.out.println("是否繼續(xù)?(y/n)");
if (input.next().equals("n")) {
type=false;
}
}
System.out.println("程序結(jié)束!");
}
第一題: 元素的復(fù)制
import?java.util.Arrays;
public?class?ArrayDemo?{
public?static?void?main(String[]?args)?{
int[]?scores?=?{91,85,98,62,78,93};
int[]?newScores=Arrays.copyOfRange(scores,?0,?5);//復(fù)制元素,?左開右閉區(qū)間[0,5)
System.out.println(Arrays.toString(newScores));//調(diào)用數(shù)組工具類的方法轉(zhuǎn)成字符串并打印
}
}
第二題: 這題雖然使用集合更方便 , 但卻是非常好的一維數(shù)組的訓(xùn)練題目.
解法一: 集合解決 隨機(jī)產(chǎn)生7個(gè)不重復(fù)的數(shù)字很簡單
import?java.util.HashSet;
import?java.util.Random;
public?class?NumberTest?{
public?static?void?main(String[]?args)?{
HashSetInteger?set=??new?HashSetInteger();//元素不可重復(fù)的無序集合
Random?rd=new?Random();//隨機(jī)產(chǎn)生器
while(set.size()7)?{
set.add(rd.nextInt(36)+1);//產(chǎn)生1~36的隨機(jī)數(shù)
//如果元素重復(fù),?那么添加不上去
}
System.out.println(set);
}
}
解法二:一維數(shù)組 ,解決產(chǎn)生7個(gè)數(shù)字, 并升序排列
int[] ? ? ?nums 數(shù)組存儲(chǔ)1~36個(gè)數(shù)組
boolean[] flags 數(shù)組存儲(chǔ)的是和nums數(shù)組一一對(duì)應(yīng)的true或者false,如果使用了就標(biāo)記為true.,如果沒有使用標(biāo)記為false,
例如 隨機(jī)產(chǎn)生了一個(gè)下標(biāo)0 ?,那么查看flags[0] ,如果是true, 那么說明該元素已經(jīng)使用了,重新產(chǎn)生一個(gè)隨機(jī)數(shù), 如果是false ,那么表示nums[0]沒有被使用
具體代碼如下(稍微留個(gè)尾巴, 就是中不中的判斷, 可以把兩個(gè)數(shù)組都升序排序,然后元素一一比較,全部相同就是中了)
import?java.util.Arrays;
import?java.util.Random;
public?class?NumberDemo?{
public?static?void?main(String[]?args)?{
int[]?nums=?new?int[36];//長度為36的數(shù)組?,默認(rèn)全是0
for?(int?i?=?0;?i??nums.length;?i++)?{//利用for循環(huán)賦值1~36
nums[i]=i+1;
}
boolean[]?flags=new?boolean[nums.length];//長度和nums相同的數(shù)組,默認(rèn)值全是false?,表示全部沒有使用過
//用boolean值表示對(duì)應(yīng)的nums里的元素是否被使用
int[]?result=new?int[7];//存儲(chǔ)結(jié)果
Random?rd?=?new?Random();
for?(int?i?=?0;?i??result.length;?i++)?{
int?temp=rd.nextInt(nums.length);//隨機(jī)產(chǎn)生下標(biāo)
//System.out.println(Arrays.toString(result));
if(flags[temp])?{//如果已經(jīng)被使用,那么i-1,并在此循環(huán)
i--;
//System.out.println("號(hào)碼"+nums[temp]+"已經(jīng)存在.再次循環(huán)");
}else?{
result[i]=nums[temp];
flags[temp]=true;//標(biāo)記true表示已經(jīng)使用了
}
}
System.out.println("原始排序:"+Arrays.toString(result));
Arrays.sort(result);//升序排列
System.out.println("升序排列:"+Arrays.toString(result));
}
}
看了一下,計(jì)算方式和結(jié)果應(yīng)該都是正確的,而這里之所以報(bào)錯(cuò),目測應(yīng)該是沒引進(jìn)來Collections這個(gè)工具類:
import java.util.Collections;
引進(jìn)來應(yīng)該就可以了。
import java.util.Arrays;
public class Paixu {
public static void main(String[] args){
int[] array1 = {1, 31,11, 41,21, 51};
int[] array2 = {53, 13,33,23, 43, 3};
int[] array3 =new int[array1.length+array2.length];
//復(fù)制array1到array3
System.arraycopy(array1, 0, array3, 0, array1.length);
//復(fù)制array2到array3
System.arraycopy(array2, 0, array3, array1.length, array2.length);
//Arrays.sort(array3);這個(gè)方法直接可以讓數(shù)組直接快速排序
System.out.println(Arrays.toString(array3));
//冒泡排序
for(int x=0;xarray3.length;x++){
for(int y=x+1;yarray3.length;y++){
if(array3[x]array3[y]){
int temp=array3[x];
array3[x]=array3[y];
array3[y]=temp;
}
}
}
System.out.println(Arrays.toString(array3));
}
}