JAVA學(xué)習(xí)交流

          互幫互助,共同進(jìn)步!

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            4 隨筆 :: 6 文章 :: 26 評(píng)論 :: 0 Trackbacks
          請(qǐng)同學(xué)們積極提問(wèn)!
          posted on 2006-09-29 08:33 Green 閱讀(811) 評(píng)論(14)  編輯  收藏

          評(píng)論

          # re: 作業(yè)答疑 2006-09-29 12:57 wy
          vb  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-07 23:27 編程菜鳥(niǎo)lzq
          對(duì)與我來(lái)說(shuō)學(xué)習(xí)java的確有很大的難度。
          主要是我的基礎(chǔ)太爛了,c和c++都沒(méi)有學(xué)好,對(duì)好多的基本概念都不是很熟悉。但是我很想把java學(xué)好,對(duì)與我的情況,我應(yīng)該如何一步一步地學(xué)java。
            回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-08 13:46 劉發(fā)君
            我在做第二組作業(yè)的第四題時(shí),有兩個(gè)問(wèn)題。請(qǐng)大家提提意見(jiàn),幫忙解決一下。  
            第一個(gè)問(wèn)題是:輸入的最后一個(gè)月(12月)不能夠顯示出來(lái)(當(dāng)然,我用的循環(huán)的方法我認(rèn)為是可以顯示的)。相應(yīng)在統(tǒng)計(jì)年總天數(shù)的時(shí)候,就不能夠統(tǒng)計(jì)到最后一個(gè)月的天數(shù)。以至于總的天數(shù)少了31天。
            第二個(gè)問(wèn)題:對(duì)當(dāng)前月不知道怎樣用下劃線來(lái)表明。  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-08 20:44 小余
          因?yàn)槟愕臄?shù)組長(zhǎng)度設(shè)為12,但是你是以0開(kāi)頭的,以11結(jié)束,所以不能顯示12月,你應(yīng)該在輸出的時(shí)候每個(gè)月份,也就是你的下標(biāo)加1  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-10 10:36 Teacher
          我只提幾個(gè)問(wèn)題:
          1:你每天了用多少時(shí)間學(xué)習(xí)Java?有一個(gè)小時(shí)嗎?
          2:教材上的演示例子你都運(yùn)行過(guò)嗎?運(yùn)行了你修改過(guò)嗎?
          3:當(dāng)你遇見(jiàn)問(wèn)題時(shí)你請(qǐng)教過(guò)嗎?你有沒(méi)有不解決就誓不修的精神?
          4:基礎(chǔ)差你努力過(guò)嗎?知道自己的不足就要加倍的付出, 你做到了嗎?

          基礎(chǔ)差不是借口, 努力才有機(jī)會(huì). 從現(xiàn)在做起為時(shí)未晚!!  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-10 20:09 Teacher
          @編程菜鳥(niǎo)lzq
          我只提幾個(gè)問(wèn)題:
          1:你每天了用多少時(shí)間學(xué)習(xí)Java?有一個(gè)小時(shí)嗎?
          2:教材上的演示例子你都運(yùn)行過(guò)嗎?運(yùn)行了你修改過(guò)嗎?
          3:當(dāng)你遇見(jiàn)問(wèn)題時(shí)你請(qǐng)教過(guò)嗎?你有沒(méi)有不解決就誓不修的精神?
          4:基礎(chǔ)差你努力過(guò)嗎?知道自己的不足就要加倍的付出, 你做到了嗎?

          基礎(chǔ)差不是借口, 努力才有機(jī)會(huì). 從現(xiàn)在做起為時(shí)未晚!!  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-17 15:49 譙老師
          public class RandomTest {

          public static void main(String[] args) {
          anotherMethod(5);
          }

          static void oneMethod(int length) {
          String s = "";
          String s1 = "";
          int j = 0;

          /**
          * 利用字符串來(lái)比較是否重復(fù),有重復(fù)則重選一個(gè),選幾個(gè),i就小于幾就行了
          */
          for (int i = 0; i < length; i++) {

          /**
          * 調(diào)用random方法,隨機(jī)選數(shù),它選出的是0-0.999...之間的數(shù),
          * 所以乘以length,就是1-length之間的整型數(shù)。
          */

          j = (int) (Math.random() * length);
          s1 = j + "";
          if (s.indexOf(s1) != -1) {
          i--;
          continue;
          }
          s = s + " " + s1;
          //大出來(lái)看看,絕對(duì)不重,保存下來(lái)就行了
          System.out.println(j);
          }

          }

          static void anotherMethod(int length) {
          int[] a = new int[length];

          for (int i = 0; i < a.length; i++) {
          a[i] = (int) (Math.random() * length)+1;
          for (int j = 0; j < i; j++) {
          if (a[j] == a[i]) {
          i--;
          break;
          }
          }
          }
          for (int j = 0; j < length; j++) {
          System.out.println(a[j]);
          }
          }

          static void thirdMethod(int length) {
          int numbers[] = new int[length];
          /**
          * 初始化數(shù)字
          */
          for (int k = 0; k < length; k++) {
          numbers[k] = k;
          }
          int random[] = new int[length];
          /**
          * 比如ranInt(54)產(chǎn)生一個(gè)隨機(jī)數(shù)5,把a(bǔ)[5]的牌抽出數(shù)組,
          * 然后再用ranInt(53)抽出另外一張,ranInt(52)
          */
          for (int i = length - 1; i >= 0; i--) {
          int selected = (int) (Math.random() * i)+1;
          random[i] = numbers[selected];
          numbers[selected] = numbers[i];
          }

          for (int i = 0; i < length; i++) {
          System.out.print(random[i]);
          }
          }

          static int genRandomCut(int length) {
          int randomnum = (int) (Math.random() * length);
          //System.out.print(randomnum);
          return randomnum ;
          }

          static int[] getRandom(int length){
          int[] a = new int[length];
          loop:
          for (int i = 0; i < a.length; i++) {
          a[i] = (int) (Math.random() * length);
          for (int j = 0; j < i; j++) {
          if (a[j] == a[i]) {
          i--;
          continue loop;
          }
          }
          }
          for (int j = 0; j < length; j++) {
          System.out.println(a[j]);
          }
          return a;
          }

          static void cutCard(int length) {
          int[] cards = new int[length];
          cards = getRandom(length);

          int randomcut = genRandomCut(length);

          int temp[] = new int[length];
          int startPoint = randomcut;
          for(int i=0; i<length-randomcut; i++){
          temp[i]=cards[startPoint++];
          }
          for(int k=0; k<randomcut; k++){
          temp[length-randomcut+k] = cards[k];
          }
          System.out.println("RandomCut:"+randomcut);
          for (int i = 0; i < temp.length; i++) {
          System.out.println(temp[i]);
          }

          }
          }  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-18 13:06 SKYLCT
          老師介紹一下現(xiàn)在最流行的界面開(kāi)發(fā)工具(JAVA類)!!  回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-19 09:28 Raylay Zhang
          import java.util.List;
          import java.util.Collections;
          import java.util.ArrayList;
          import java.util.Random;
          class Card{
          private String value; //撲克牌的值
          private String color; //撲克牌的花色
          public Card(String s1,String s2){
          .....
          }
          public String GetValue(){
          .....
          }

          public String GetColor(){
          .....
          }
          }//一張牌的類型

          我已經(jīng)建立好了一個(gè)Card[]Porke=new Card[54];且對(duì)其進(jìn)行了初始化及相關(guān)賦值,即建立好了一副牌.
          主要問(wèn)題是出在洗牌的時(shí)候.部分代碼如下:

          List cards = new ArrayList();
          //向其中添加元素;
          for(int i = 0; i < 54; i++) {
          cards.add(Porke[i]); //即將Porke中各張牌給這個(gè)list中
          }
          Collections.shuffle(cards,new Random()); //將cards中元素順序打亂
          建立一個(gè)新的Card newcard[54];
          newcard=cards.toArray(); //將list cards轉(zhuǎn)化成對(duì)應(yīng)元素類型的數(shù)組
          可是在執(zhí)行的時(shí)候就是這個(gè)地方出錯(cuò).錯(cuò)誤是: 類型不一致

            回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-10-31 13:37 譙老師
          名稱: 實(shí)現(xiàn)洗牌算法

          分析:
          識(shí)別類:
          public class Card{}; //一張牌
          public class Poker{}; //一副牌
          public class PlayGame{}; //對(duì)牌進(jìn)行的相關(guān)操作,包括洗牌,切牌


          識(shí)別屬性:
          Card應(yīng)包括的屬性有: private color(花色),private value(大小);
          Poker應(yīng)包括的屬性有:Card Cards[54]; //包含54張牌元素的數(shù)組,用來(lái)描述一副牌;
          public String color[4]; //包含4種花色
          public String value[13]={"A","2","3",......,"K"}

          定義類:
          Card{

          屬性: private color //花色
          private value //值,大小
          構(gòu)造函數(shù):
          根據(jù)需要,牌大致可劃分為兩種,一種是A,2....K.(普通牌),另外一種就是大王,小王
          Card(String value,String color){} //用來(lái)初始化普通牌
          Card(String value){} //傳入一個(gè)參數(shù),用來(lái)初始化大王,小王
          方法:
          為了得到private的屬性,定義以下方法來(lái)獲取
          String getColor(){}; //得到這張牌的花色
          String getValue(){}; //用來(lái)得到這張牌子的大小;

          }

          Poker{

          屬性: 因?yàn)槊扛迸贫加泄餐瑢傩裕核姆N花色,有從A,2....K十三種值類型,每副牌都有54張,故有以下屬性
          public String color[4]={.....}
          public String Value[13]={.....}
          Card Cards[54];
          構(gòu)造函數(shù):
          根據(jù)以上的屬性,分析可知一副牌初始化時(shí)不需要傳參,
          Porke{
          ......
          }
          方法:
          每副牌都應(yīng)該要有一個(gè)顯示的方法,打印出Cards[54]的內(nèi)容.如下:
          public void print(){}

          }

          PlayGame{
          分析可知,在該類中我們需要做的是定義一個(gè)洗牌的方法,切牌的方法,還可包括main函數(shù)。
          無(wú)需構(gòu)造函數(shù),

          方法:
          洗牌方法: public Poker XiPai(){}
          洗牌算法描述:
          用random產(chǎn)生一組隨機(jī)且不重復(fù)的數(shù),用int array[54] 來(lái)保存,其中每一個(gè)元素都對(duì)應(yīng) 著Cards[54]的下標(biāo),
          將Cards[54]以該int array[54]的值的順序來(lái)存放,則是一組隨機(jī)的Card元素,從而實(shí)現(xiàn)了洗 牌算法
          最后返回值為新的序列的Cards[54]
          切牌方法:
          public Poker DaoPai(){}
          切牌算法描述:
          用random產(chǎn)生一個(gè)隨機(jī)數(shù),找到該隨機(jī)數(shù)為下標(biāo)的Cards[54]的元素。將該元素以前的元素 接到該Cards[54]數(shù)組的后面。最后返回一個(gè)新的序列的Cards[54]。從而實(shí)現(xiàn)倒牌算法
          main函數(shù):
          通過(guò)對(duì)Poker new一個(gè)新的對(duì)象,來(lái)進(jìn)行洗牌,倒牌的操作

          }

            回復(fù)  更多評(píng)論
            

          # 請(qǐng)問(wèn)我的方法為什么不好 2006-11-02 22:35 luomeilun
          我的方法也可以得到結(jié)果,代碼也少,但是感覺(jué)我的方法不好,我基礎(chǔ)差不知道不好在那些方面
          public class RandomTest {

          static void oneMethod(int length)
          {
          String s = "";
          String s1 = "";
          int j = 0;
          for (int i = 0; i < length; i++)
          {
          j = (int) (Math.random() * length);
          s1 = j + "";
          if (s.indexOf(s1) != -1)
          {
          i--;
          continue;
          }
          s = s + " " + s1;
          String a[]={"黑2","紅2","方快2","梅花2","方三",} //太長(zhǎng)老要寫(xiě)54個(gè)暫時(shí)寫(xiě)5個(gè)
          System.out.println(a[j]);
          }
          }


          public static void main(String[] args){
          RandomTest M=new RandomTest() ;

          ;
          M. oneMethod(5);
          }
          }
            回復(fù)  更多評(píng)論
            

          # 請(qǐng)問(wèn)我的方法為什么不好 2006-11-02 22:35 luomeilun
          我的方法也可以得到結(jié)果,代碼也少,但是感覺(jué)我的方法不好,我基礎(chǔ)差不知道不好在那些方面
          public class RandomTest {

          static void oneMethod(int length)
          {
          String s = "";
          String s1 = "";
          int j = 0;
          for (int i = 0; i < length; i++)
          {
          j = (int) (Math.random() * length);
          s1 = j + "";
          if (s.indexOf(s1) != -1)
          {
          i--;
          continue;
          }
          s = s + " " + s1;
          String a[]={"黑2","紅2","方快2","梅花2","方三",} //太長(zhǎng)老要寫(xiě)54個(gè)暫時(shí)寫(xiě)5個(gè)
          System.out.println(a[j]);
          }
          }


          public static void main(String[] args){
          RandomTest M=new RandomTest() ;

          ;
          M. oneMethod(5);
          }
          }
            回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2006-12-25 21:42 曾崇杰
          想了N 天的問(wèn)題,作業(yè)一直沒(méi)有交.請(qǐng)高人指點(diǎn).

          司機(jī)這個(gè)類里面要求沒(méi)有車,那在drive函數(shù)里面司機(jī)開(kāi)什么呀.   回復(fù)  更多評(píng)論
            

          # re: 作業(yè)答疑 2009-03-29 15:15 tiny
          要實(shí)現(xiàn)小球在往返彈動(dòng)效果。。請(qǐng)問(wèn)怎么修改,
          import javax.swing.*;
          import java.awt.*;
          import java.awt.geom.*;
          import java.awt.image.*;
          import java.awt.event.*;
          import java.util.*;
          import java.text.*;
          public class GameFrame {

          public GameFrame() {
          Frame app = new Frame("GameFrame");
          app.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
          System.exit(0);
          }
          });
          drawBall drawB = new drawBall();
          app.add(drawB, BorderLayout.CENTER);
          app.pack();
          app.setVisible(true);
          app.setLocationRelativeTo(null);
          drawB.gameLoop();
          }

          public class drawBall extends JPanel implements Runnable {
          private int x,dx;
          private int y,dy;
          private int diameter;
          private int width;
          private int heigth;
          private Image im;
          private Graphics dbg;
          private Thread gamethread;
          private static final int FPS=100;


          public drawBall() {
          x=100;y=100;
          dx=0;dy=0;// 球的移動(dòng)量
          diameter=100;//半徑
          width=500;
          heigth=500;
          setBackground(Color.pink);
          setPreferredSize(new Dimension(width, heigth));
          }
          public void gameStart(){

          gamethread = new Thread(this);
          gamethread.start();
          }
          public void gameLoop(){
          while(true){
          gameUpdate();
          gameRender();
          gamePaint();
          }
          }


          public void gamePaint() {
          Graphics g;
          try {
          g = this.getGraphics();
          if (g != null && im != null) {
          g.drawImage(im, 0, 0, null);
          }
          g.dispose();
          } catch (Exception e) {
          }
          }

          public void gameRender() {
          if (im == null) {
          im = createImage(width, heigth);
          if (im == null) {
          System.out.println("im is null");
          } else {
          dbg = im.getGraphics();
          }
          }
          dbg.setColor(Color.pink);
          dbg.fillRect(0, 0, width, heigth);
          dbg.setColor(Color.blue);
          dbg.fillOval(x, y, diameter, diameter);
          }

          public void gameUpdate() {
          Random random = new Random();

          switch (random.nextInt(4)) {
          case 0:
          x +=5;
          break;
          case 1:
          x -=5;
          break;
          case 2:
          y +=5;
          break;
          case 3:
          y -=5;
          break;
          }


          //x += dx; y += dy;

          if(x>=width-diameter||x-diameter<=0) {
          y+=dy;
          x-=dx;
          dx=(-dx);

          }// 超出左右邊界
          if(dx>0){ x=x+dx+randomNum; dy=(-dy+randomNum); }
          else { x=x+dx-randomNum; dy=(-dy-randomNum); }
          else if (y>=heigth-diameter||y-diameter<=0){
          y-=dy;
          x+=dx;
          dy=(-dy);

          }// 超出上下邊界

          }
          public void run() {
          long beforeTime,timeDiff,sleepTime;
          long period=1000/FPS;
          beforeTime = System.currentTimeMillis();
          while(true){
          gameUpdate();
          gameRender();
          gamePaint();

          timeDiff=(System.currentTimeMillis() - beforeTime)/1000000L;
          sleepTime = period - timeDiff;
          if(sleepTime<=0)
          sleepTime=2;
          try {
          Thread.sleep(sleepTime);
          } catch (InterruptedException ex) { }
          beforeTime=System.currentTimeMillis();
          System.out.println("sleepTime is:"+sleepTime);
          }

          }

          }

          public static void main(String[] args) {
          new GameFrame();

          }
          }
            回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 濉溪县| 射阳县| 佛教| 巴里| 祁连县| 三明市| 涟源市| 思南县| 明星| 崇义县| 渝中区| 平安县| 牟定县| 莲花县| 嘉定区| 温宿县| 尚义县| 云阳县| 阳信县| 七台河市| 梁河县| 龙南县| 鲁甸县| 滨海县| 电白县| 佛教| 呼玛县| 定陶县| 湘乡市| 中宁县| 军事| 河曲县| 磴口县| 铜陵市| 荥阳市| 福建省| 莱阳市| 灌云县| 舒城县| 仪征市| 隆子县|