⑴ java循環網球賽代碼,界面響應部分不會做,求正確源碼帶詳細注釋。謝謝,我QQ53294380
我已經把功能寫出來了,不知道為什麼,源碼貼不上來,需要的話聯系我 [email protected],
現在能貼上了,運行match這個類
====代碼====
package com;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
* 網球賽
* @author Cris
* @ClassName: Match
* @Version
* @ModifiedBy
* @Copyright @ 2010 H&L Technology Inc.
* @date 2011-5-24 上午11:29:39
* @description
*/
public class Match implements ActionListener{
private JFrame f;
private JTextField tf;
private JPanel container;
private JList myList ;
private JLabel message;
private JButton b;
/**
* @author Cris
* @title: main
* @date 2011-5-23 上午11:07:27
* @param args void
*/
public static void main(String[] args) {
Match t = new Match();
t.go();
}
public void go(){
f = new JFrame("比賽");
f.setLocation(100, 200);
f.setSize(600,500);
container = new JPanel(new BorderLayout());
f.setContentPane(container);
JPanel title = new JPanel(new FlowLayout());
tf = new JTextField(10);
title.add(tf);
b = new JButton("確定");
b.addActionListener(this);
title.add(b);
message = new JLabel();
title.add(message);
container.add(title,BorderLayout.NORTH);
myList = new JList();
container.add(myList,BorderLayout.CENTER);
f.setVisible(true);
}
/**
* 顯示比賽結果
* @author Cris
* @title: show
* @date 2011-5-24 上午11:31:05
* @param n void
*/
private void show(int n){
Cris c = new Cris(n);
List<List<String[]>> result = c.getResult();
String[] str = new String[result.size()];
for (int i = 0; i < result.size(); i++) {
StringBuilder sb = new StringBuilder();
sb.append("第").append(i+1).append("天: ");
List<String[]> matchList = result.get(i);
for(String[] match : matchList){
sb.append("[").append(match[0]).append("-").append(match[1]).append("] ");
}
str[i] = sb.toString();
}
myList.setListData(str);
message.setText("");
f.setVisible(true);
}
/**
* 清空數據
* @author Cris
* @title: clear
* @date 2011-5-24 上午11:30:36 void
*/
private void clear(){
String[] str = {""};
myList.setListData(str);
message.setText("");
}
public void actionPerformed(ActionEvent e) {
clear();
String s = tf.getText();
if (s == null || "".equals(s = s.trim()) ) {
message.setText("請輸入一個偶數");
}
try {
int n = Integer.parseInt(s);
if (n <= 0 || n % 2 != 0) {
message.setText("請輸入一個偶數");
}else{
show(n);
}
} catch (Exception ex) {
message.setText("請輸入一個偶數");
}
f.setVisible(true);
}
}
第二個類:
package com;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class Cris {
/**選手數量*/
private int n ;
/**各個運動員還沒進行的比賽 key:球員名稱,value:需進行的比賽集合*/
private Map<String, List<String[]>> playerMacth ;
/**球員人名*/
private String[] players ;
/**最終每天的比賽分布集合*/
private List<List<String[]>> result;
/**所有可選的比賽*/
private List<List<String[]>> allMatchData[];
/**每天的比賽*/
List<String[]> dayMatch ;
/**一個隨機對象*/
private Random r;
/**當前運算到的天數*/
private int nowDay;
public Cris(int n){
this.n = n;
playerMacth = new HashMap<String, List<String[]>>();;
result = new ArrayList<List<String[]>>();
allMatchData = new LinkedList[n-1];
r = new Random();
init();
go();
}
/**
* 初始化球員
* @author Cris
* @title: init
* @date 2011-5-23 下午04:22:32 void
*/
private void init(){
//定義球員人名,以數字代表,從1開始
players = new String[n];
for (int i = 0; i < players.length; i++) {
//定義球員的名字
players[i] = String.valueOf(i+1);
//存放每個球員要進行的比賽的集合
List<String[]> matchList = new LinkedList<String[]>();
//球員賽事集合
playerMacth.put(players[i], matchList);
//球員集合,不變
// playerListConst.add(players[i]);
}
//定義每個人的比賽
for (int i = 0; i < players.length -1; i++) {
for (int j = i+1; j < players.length ; j++) {
String[] match = {players[i],players[j]};//定義一個比賽
//把此賽事添加到相應球員需比賽集合中
playerMacth.get(players[i]).add(match);
playerMacth.get(players[j]).add(match);
}
}
}
/**
* 隨機獲得一個當前天數可進行的比賽組合,並把此比賽組合從總集合中移除
* 如果當前天數無比賽,則先獲得比賽,再隨機
* @author Cris
* @title: getNowDayMatch
* @date 2011-5-24 上午09:48:23
* @return List<String[]>
*/
private List<String[]> getNowDayMatch(){
if (allMatchData[nowDay] == null) {
setAllMatchNowDay();
}
if (! allMatchData[nowDay].isEmpty()) {
int index = r.nextInt(allMatchData[nowDay].size());
List<String[]> list = allMatchData[nowDay].get(index);
allMatchData[nowDay].remove(index);
return list;
}else {
return null;
}
}
/**
* 取消前一天的比賽
* @author Cris
* @title: cancelYesterday
* @date 2011-5-24 上午09:56:12 void
*/
private void cancelYesterday(){
//清空當前天數的可選比賽組合
allMatchData[nowDay] = null ;
//時間恢復到前一天
nowDay--;
//獲得前一天的比賽
List<String[]> matchList = result.get(nowDay);
//取消前一天的比賽
result.remove(nowDay);
//恢復每個運動員未進行的比賽
for(String[] match : matchList){
playerMacth.get(match[0]).add(match);
playerMacth.get(match[1]).add(match);
}
}
public void go(){
//循環比賽天數
for ( nowDay = 0; nowDay < n -1; ) {
//1.隨機一個比賽
List<String[]> matchList = getNowDayMatch();
//無比賽組合 ,返回上一天 取消上一天的比賽,時間回退到前一天,跳過此次循環
if (matchList == null) {
cancelYesterday();
continue;
}
//3遍歷比賽 去除運動員 去除運動員的未進行比賽
for(String[] match : matchList){
playerMacth.get(match[0]).remove(match);
playerMacth.get(match[1]).remove(match);
}
result.add(matchList);
nowDay++;
}
}
/**
* 從1號隊員開始,獲得當前天數所有可組合的賽事
* @author Cris
* @title: setAllMatchNowDay
* @date 2011-5-24 上午09:42:51 void
*/
private void setAllMatchNowDay(){
allMatchData[nowDay] = new LinkedList<List<String[]>>();
int n = 1;//1號運動員
//此運動員未進行的比賽
List<String[]> matchList = playerMacth.get(String.valueOf(n));
for(String[] match : matchList){
List<String[]> selectedList = new ArrayList<String[]>();
selectedList.add(match);
doDetAllMatchNowDay(n+1, selectedList);
}
}
/**
* 今天比賽的所有組合
* @author Cris
* @title: doDetAllMatchNowDay
* @date 2011-5-24 上午09:46:05
* @param playerNum
* @param selectedList void
*/
private void doDetAllMatchNowDay(int playerNum,List<String[]> selectedList){
//運動員名稱
String player = String.valueOf(playerNum);
boolean flag = true;
//判斷此運動員是不是已被選過
for(String[] match : selectedList){
if (match[0].equals(player) || match[1].equals(player)) {
flag = false;
break;
}
}
//已被選過
if ( flag == false) {
//最後一個人員
if (playerNum == n) {
allMatchData[nowDay].add(selectedList);
}else{
doDetAllMatchNowDay(playerNum+1, selectedList);
}
return;
}
//此運動員未進行的比賽
List<String[]> matchList = playerMacth.get(player);
//此運動員可選擇的比賽
List<String[]> canDoList = new ArrayList<String[]>();
for(String[] match : matchList){
flag = true;
for(String[] selected : selectedList){
if(match[0].equals(player)){
if(match[1].equals(selected[0])){
flag = false;
}else if(match[1].equals(selected[1])){
flag = false;
}
}else{
if(match[0].equals(selected[0])){
flag = false;
}else if(match[0].equals(selected[1])){
flag = false;
}
}
}
if (flag) {
canDoList.add(match);
}
}
//遍歷此運動員可選擇的比賽
for(String[] match : canDoList){
List<String[]> newList = ArrayList(selectedList);
//記錄當前比賽
newList.add(match);
//最後一個人員
if (playerNum == n) {
allMatchData[nowDay].add(newList);
}else{
doDetAllMatchNowDay(playerNum+1, newList);
}
}
}
/**
* 復制集合
* @author Cris
* @title: ArrayList
* @date 2011-5-24 上午09:24:44
* @param list
* @return List<String[]>
*/
private List<String[]> ArrayList(List<String[]> list){
List<String[]> newList = new ArrayList<String[]>();
for(String[] s : list){
newList.add(s);
}
return newList;
}
public List<List<String[]>> getResult() {
return result;
}
}
⑵ 網球王子154級,不二周助與安魯德的比賽中,不二用巨熊回擊時候的音樂,跪求,有的發[email protected]
請LZ貼個視頻地址,然後具體舉例說明您要的音樂出現在哪一分鍾的片段,這樣我能更准確地為您解答~~~
以後有網球王子歌曲或配樂問題歡迎到這里留言:
http://tieba..com/f?kz=624386515
⑶ 網球王子全國大賽20最後的預告片中的背景音樂,能發給我嗎郵箱是[email protected],謝謝
這個片段里共有兩首配樂:
【第一首配樂】
十分遺憾,網球王子OST至今還沒有收錄這首BGM~~~
現在網上只有TV版配樂專輯3張,劇場版配樂專輯1張(劇場版的配樂在TV版中很少出現),共4張專輯,大概包括1——75集左右的配樂,至於之後比賽中的一部分配樂還沒有出呢~~~
也就是說,大家要是問75集之前的配樂基本都能夠找到,75集之後的配樂就不一定能找到了~~~
如果LZ非常喜歡這首配樂的話,只能下一個截取背景音樂的軟體,自己去截~~~
【第二首配樂】
《本気モード》
試聽:http://www.tudou.com/programs/view/oNSdSMG2H_U/
PS:已經把音樂發到LZ郵箱里了,請注意查收~~~
以後有網球王子歌曲或配樂問題歡迎到這里留言:
http://tieba..com/f?kz=624386515