package computer;

創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元富平做網(wǎng)站,已為上家服務(wù),為富平各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
import java.util.Arrays;import java.util.Random;
import java.util.Scanner;
public class SerachFunction {
public static int[] allnum=new int[20];
// picture ...like a picture
public void picOne(){
System.out.println("************");
System.out.println("1.選擇排序");
System.out.println("2.冒泡排序");
System.out.println("3.插入排序");
System.out.println("4.全排列");
System.out.println("5.數(shù)字分解為數(shù)字和");
System.out.println("6.殺死小朋友問(wèn)題");
System.out.println("7.階乘");
System.out.println("8.雙色球");
System.out.println("9.100-1000的水仙花數(shù)");
System.out.println("10.正數(shù)分解因數(shù)");
System.out.println("11.恐怖的事情 千萬(wàn)不要輸入11");
System.out.println("輸入-1退出");
System.out.println("輸入-2查看問(wèn)題注釋");
System.out.println("************");
}
public void picTwo(){
System.out.println("注意輸入單個(gè)字符參數(shù)(根據(jù)選項(xiàng)輸入,多個(gè)參數(shù)以逗號(hào)分割): ");
}
public void picThree(){
System.out.println("5號(hào)問(wèn)題為輸入某一數(shù)字 出現(xiàn)這個(gè)數(shù)字可由哪些數(shù)字相加而得");
System.out.println("6號(hào)問(wèn)題為9(輸入)個(gè)已編號(hào)的小朋友圍一圈報(bào)數(shù)1,2,3報(bào)到3的拖出去xx問(wèn)剩下的小朋友是幾號(hào)");
}
public void picFour(){
System.out.println("0_0~");
System.out.println("恐怖的事情發(fā)生了...說(shuō)了不要點(diǎn)...");
System.out.println("樓主累死了....");
}
// main
public static void main(String[] args){
SerachFunction fc=new SerachFunction();
fc.inputFunction();
}
public void inputFunction(){ //接受指令并調(diào)用相關(guān)函數(shù)
int command;
char[] params;
Scanner sc=new Scanner(System.in);
while(true){
picOne();
if((command=sc.nextInt())==-1){
break;
}
picTwo();
params=getParamsArray(sc.next());
System.out.println();
switch(command){
case 1:
selectSort(params);
break;
case 2:
bubbleSort(params);
break;
case 3:
insertionSort(params);
break;
case 4:
fullArray(params,0);
break;
case 5:
resolveNum(getQuondam(params),0);
break;
case 6:
killChildren(getQuondam(params));
break;
case 7:
factorial(getQuondam(params),1);
break;
case 8:
twoColorBall();
break;
case 9:
daffodil();
break;
case 10:
int all=0;
primeFactor(getQuondam(params),0);
break;
case 11:
picFour();
break;
case -2:
picThree();
break;
}
System.out.println("Y(^_^)Y");
}
System.out.println("(*^_^*)");
}
/*
* com function
* */
public char[] getParamsArray(String params){
params=params.replaceAll(",","");
return params.toCharArray();
}//to get char[] params
// 選擇排序
public void selectSort(char[] params){
for(int i=0;iparams.length-1;i++){
for(int m=i+1;mparams.length;m++){
if(params[i]params[m]){
changePlace(params,m,i);
}
}
}
showChar(params);
System.out.println("選擇排序結(jié)束");
}
//冒泡排序
public void bubbleSort(char[] params){
for(int i=params.length-1;i0;i--){
for(int m=0;mi;m++){
if(params[m]params[m+1]){
changePlace(params,m,m+1);
}
}
}
showChar(params);
System.out.println("冒泡排序結(jié)束");
}
//插入排序
public void insertionSort(char[] params){
for(int i=1;iparams.length;i++){
for(int m=i-1;m=0;m--){
if(params[m+1]params[m]){
changePlace(params,m+1,m);
}
}
}
showChar(params);
System.out.println("插入排序結(jié)束");
}
//全排列
public void fullArray(char[] params,int begin){
if(begin==params.length){
showChar(params);
}
for(int i=begin;iparams.length;i++){
if(begin=params.length){
changePlace(params,begin,i);
fullArray(params,begin+1);
changePlace(params,begin,i);
}
}
}
//數(shù)字分解為數(shù)字和
public void getAllNum(int[] num,int end){
System.out.print("分解方式:");
for(int i=0;iend;i++){
System.out.print(num[i]);
if(i+1!=end){
System.out.print(',');
}
}
System.out.println("");
}
public int getArrayT(int[] num,int end){
int tot=0;
for(int i=0;iend;i++){
tot+=num[i];
}
return tot;
}
public boolean getShoud(int[] num,int end){
for(int i=0;iend;i++){
if(i+1end){
if(num[i+1]num[i]){
return false;
}
}
}
return true;
}
public void resolveNum(int num,int begin){
if(getArrayT(allnum,begin)==num){
if(getShoud(allnum,begin)){
getAllNum(allnum,begin);
}
}
for(int i=1;i=num;i++){
if(getArrayT(allnum,begin)=num){
allnum[begin]=i;
resolveNum(num,begin+1);
}
}
}
// 殺死小朋友
public void killChildren(int child){
int alivechild=child;
int num=0;
int index=0;
boolean[] childisdead=new boolean[child];
Arrays.fill(childisdead,true);
while(alivechild!=1){
if(childisdead[index]){
num++;
if(num%3==0){
alivechild--;
childisdead[index]=false;
num=0;
}
}
index++;
if(index==child)
index=0;
}
for(int i=0;ichildisdead.length;i++){
if(childisdead[i])
System.out.println((int)(i+1)+"號(hào)小朋友還活著");
}
}
//階乘
public void factorial(int end,long output){
if(end==1){
System.out.println(output);
return;
}
output=output*end;
factorial(end-1,output);
}
//two color ball;
public void twoColorBall(){
int[] redball=new int[6];
int blueball=(int)(Math.random()*15+1);
int index=0;
while(true){
boolean bol=true;
int red=(int)(Math.random()*32+1);
for(int i=0;i=index;i++){
if(red==redball[index]){
bol=false;
}
}
if(bol){
redball[index]=red;
index++;
}
if(index==6){
break;
}
}
System.out.print("紅色:");
for(int i=0;i6;i++){
System.out.print(redball[i]+",");
}
System.out.println("");
System.out.println("藍(lán)色:"+blueball);
}
//水仙花
public void daffodil(){
int hundreds=0,decade=0,unit=0;
System.out.print("水仙花數(shù):");
for(int i=100;i1000;i++){
hundreds=i/100;
decade=(i%100)/10;
unit=(i%100)%10;
hundreds=hundreds*hundreds*hundreds;
decade=decade*decade*decade;
unit=unit*unit*unit;
if(i==(hundreds+decade+unit)){
System.out.print(i+",");
}
}
System.out.println("");
}
//分解為因數(shù)
public void getPriShow(int[] num,int end){
System.out.print("分解方式:");
for(int i=0;iend;i++){
System.out.print(num[i]);
if(i+1!=end){
System.out.print('*');
}
}
System.out.println("");
}
public void primeFactor(int num,int begin){
if(num==1){
if(getShoud(allnum,begin)){
getPriShow(allnum,begin);
}
return;
}
for(int i=2;i=num;i++){
if(num%i==0){
allnum[begin]=i;
primeFactor(num/i,begin+1);
}
}
}
//展示char數(shù)組
public void showChar(char[] params){
for(int i=0;iparams.length;i++){
System.out.print(params[i]);
if(i+1!=params.length){
System.out.print(',');
}
}
System.out.println("");
}
//兩數(shù)換位置
public void changePlace(char[] params,int begin,int end){
int act;
act=params[begin];
params[begin]=params;
params=(char) act;
}
//得到原數(shù)
public int getQuondam(char[] num){
return Integer.parseInt(String.valueOf(num));
}
}
//水仙花水的那個(gè)就是
class Sports {
private String sportsName;
private int playerCount;
Sports() {
this.sportsName = "乒乓球";
this.playerCount = 4;
}
Sports(String sportsName, int playerCount) {
this.sportsName = sportsName;
this.playerCount = playerCount;
}
public String getSportsName() {
return sportsName;
}
public void setSportsName(String sportsName) {
this.sportsName = sportsName;
}
public int getPlayerCount() {
return playerCount;
}
public void setPlayerCount(int playerCount) {
this.playerCount = playerCount;
}
public void show(){
System.out.println("項(xiàng)目名稱(chēng)是:"+sportsName);
System.out.println("參加人數(shù):"+playerCount);
}
public void minCount(Sports[] o){
int count=o[0].getPlayerCount();
String name=o[0].getSportsName();
for(int i=0;io.length;i++){
if(counto[i].getPlayerCount()){
count=o[i].getPlayerCount();
name=o[i].getSportsName();
}
}
System.out.println("所需人數(shù)最少的體育項(xiàng)目是:"+name);
System.out.println("所需人數(shù)是:"+count);
}
}
public class TestSports{
public static void main(String[] args) {
Sports[] sp=new Sports[4];
sp[0]=new Sports("籃球",10);
sp[1]=new Sports("足球",22);
sp[2]=new Sports("羽毛球",2);
sp[3]=new Sports();
for(int i=0;isp.length;i++){
sp[i].show();
}
new Sports().minCount(sp);
}
}
代碼1:public?abstract?double?average(double?x[]);
代碼2:aver?=?aver?+?x[i];
代碼3:computer?=?new?Gymnastics();
代碼4:computer.average(a);
代碼5:computer.average(b);
//以下代碼,嚴(yán)格遵照你的題目要求順序?qū)懙?
public?class?Day14_C?{
public?static?void?main(String[]?args)?{
//字符串:
String?str="91?27?46?38?50";
//按照空格切割成字符串?dāng)?shù)組!
String[]?strs=str.split("?");
//定義int數(shù)組,長(zhǎng)度為上面字符串?dāng)?shù)組的長(zhǎng)度一樣!
int[]?arr=new?int[strs.length];
//字符串?dāng)?shù)組轉(zhuǎn)換成int數(shù)組需要的數(shù)字!
for?(int?i?=?0;?i??arr.length;?i++)?{
arr[i]=Integer.parseInt(strs[i]);
}
//排序;
for?(int?i?=?0;?i??arr.length-1;?i++)?{
for?(int?j?=?0;?j??arr.length-i-1;?j++)?{
if(arr[j]arr[j+1])?{
int?tem=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tem;
}
}
}
//排序后:
str="";
System.out.print("排序后=?");
for?(int?i?=?0;?i??arr.length;?i++)?{
System.out.print(arr[i]+"?");
str+=arr[i];
}
System.out.println("\r\n拼接后=?"+str);
}
}
這個(gè)題考察的是面向?qū)ο笕筇匦灾坏睦^承。
子類(lèi)繼承父類(lèi)。
項(xiàng)目結(jié)構(gòu)如何所示:
Mobile 為父類(lèi),有一個(gè)屬性:mobilePhone 代表電話號(hào)碼。
有4個(gè)方法(功能):
1、獲取手機(jī)號(hào)碼:public String getMobilePhone(){}
2、存儲(chǔ)手機(jī)號(hào)碼:public void setMobilePhone(String mobilePhone) {}
3、撥打電話號(hào)碼:public void callOnMobilePhone(){}
4、掛斷電話:public void callOffPhone(){}
具體代碼如下所示:、
--------------------------------------mobilePhone 開(kāi)始--------------------------------------
/**
* @author 馮修遠(yuǎn)
* 創(chuàng)建一個(gè)第一代手機(jī)類(lèi),要求包含手機(jī)號(hào)碼信息,并包含獲取電話號(hào)碼,
* 存儲(chǔ)電話號(hào)碼、撥打電話號(hào)碼和掛斷電話等功能。并以此為父類(lèi),派生
* 出子類(lèi)第二代手機(jī)類(lèi),增加拍照功能。以第二代手機(jī)類(lèi)來(lái)生成對(duì)象并
* 模擬實(shí)現(xiàn)撥打電話、掛斷電話拍照等功能。
*/
public class Mobile {
//手機(jī)號(hào)碼
private String mobilePhone;
/**
* 獲取手機(jī)號(hào)碼
* @return
*/
public String getMobilePhone() {
return mobilePhone;
}
/**
* 存儲(chǔ)手機(jī)號(hào)碼
* @param mobilePhone
*/
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
/**
* 撥打電話號(hào)碼
*/
public void callOnMobilePhone(){
System.out.println("撥打電話號(hào)碼:"+mobilePhone);
}
/**
* 掛斷電話
*/
public void callOffPhone(){
System.out.println("掛斷與:"+mobilePhone+"的通話");
}
}
--------------------------------------mobilePhone 結(jié)束--------------------------------------
PhotoMobile 為子類(lèi)或者叫派生類(lèi),繼承自父類(lèi):Mobile
同時(shí)也繼承了父類(lèi)的4個(gè)方法,但父類(lèi)的屬性因?yàn)槲以O(shè)置的是private,所以繼承不了。
PhotoMobile 的代碼如下圖所示:
最后一個(gè)類(lèi),也就是測(cè)試類(lèi),用于創(chuàng)建第二代手機(jī)的對(duì)象,并調(diào)用相應(yīng)的功能,如下圖所示:
最終,程序的運(yùn)行結(jié)果如下圖所示:
我是馮修遠(yuǎn),如果我的答案對(duì)您有幫助的話,請(qǐng)采納以幫助更多的人,如果還有其它的問(wèn)題,也請(qǐng)關(guān)注我,私信我,謝謝!
網(wǎng)頁(yè)標(biāo)題:java競(jìng)賽經(jīng)典題目代碼,java編程比賽題目
網(wǎng)頁(yè)URL:http://chinadenli.net/article7/dsiejoj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、面包屑導(dǎo)航、網(wǎng)站營(yíng)銷(xiāo)、品牌網(wǎng)站制作、云服務(wù)器、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)