问题
  我现在有四个Data  
这四个Data里分别有共同的数组 word chinese
内容不一样哦
class htmlData
class JavaData
class SqlData
class C_Data
然后我另外一个类
class Test{
 public static void main(String[] args){
  Mode1 x = new Mode1();
   Scanner name = new Scanner(System.in);  
   System.out.println("请选择需要得到哪个Data的内容");
   choose = name.nextInt();
  switch(choose){
case 1:
case 2:
case 3:
}
  //我现在要将 这边四个Data 其中一个 传递给 Mode里的setData里面去
}
}
class Mode1{
Data data;
  public void setData(Data d){
   data = d;
}
}
 
最好就是能顺便帮我解决另外一个问题
就是以上面为基础
 四个Data里面有 9个word 分别是 word1 word2 word3 .....我要让用户选择四个Data其中一个还要让用户选择Data里面的哪个word

解决方案 »

  1.   

    主要问题解决了,剩下的“顺便”的,留待达人解决。。
    package test;import java.io.*;
    import java.util.*;public class Test4Data { public static void main(String args[]) throws IOException {
    Test4Data td = new Test4Data();
    td.options();
    } public void options() { Model x = new Model();
    Scanner keyboard = new Scanner(System.in);
    System.out.println("请选择需要得到哪个Data的内容,输入数字1,2,3,4选择");
    System.out.println("1:HtmlData");
    System.out.println("2:JavaData");
    System.out.println("3:SqlData");
    System.out.println("4:C_Data");
    while (keyboard.hasNext()) { int choose = 0;
    try {
    choose = keyboard.nextInt(); } catch (Exception e) {
    System.out.println("请选择需要得到哪个Data的内容,输入数字1,2,3,4选择");
    System.out.println("1:HtmlData");
    System.out.println("2:JavaData");
    System.out.println("3:SqlData");
    System.out.println("4:C_Data");
    keyboard.next();
    continue;
    }
    switch (choose) {
    case 1:
    Data hd = new HtmlData();
    hd.setWords(new String[] { "hWords" });
    hd.setChinese(new String[] { "hChinese" });
    x.setData(hd);
    x.printData();
    break;
    case 2:
    Data jd = new JavaData();
    jd.setWords(new String[] { "jWords" });
    jd.setChinese(new String[] { "jChinese" });
    x.setData(jd);
    x.printData();
    break;
    case 3:
    Data sd = new SqlData();
    sd.setWords(new String[] { "sWords" });
    sd.setChinese(new String[] { "sChinese" });
    x.setData(sd);
    x.printData();
    break;
    case 4:
    Data cd = new C_Data();
    cd.setWords(new String[] { "cWords" });
    cd.setChinese(new String[] { "cChinese" });
    x.setData(cd);
    x.printData();
    break;
    default:
    System.out.println("请选择需要得到哪个Data的内容");
    break;
    }
    }
    } class Model {
    Data data; public void setData(Data d) {
    data = d;
    } public void printData() {
    System.out.println("words:" + data.getWordsContents());
    System.out.println("chinese:" + data.getChineseContents());
    }
    } class Data {
    String[] words; String[] chinese; public String[] getChinese() {
    return chinese;
    } public void setChinese(String[] chinese) {
    this.chinese = chinese;
    } public String[] getWords() {
    return words;
    } public void setWords(String[] words) {
    this.words = words;
    } public String getWordsContents() {
    String str = "";
    for (int i = 0; i < words.length; i++) {
    str += words[i] + " ";
    }
    return str;
    } public String getChineseContents() {
    String str = "";
    for (int i = 0; i < chinese.length; i++) {
    str += chinese[i] + " ";
    }
    return str;
    } } class HtmlData extends Data {
    } class JavaData extends Data {
    } class SqlData extends Data {
    } class C_Data extends Data {
    }}
      

  2.   

    这和继承没什么关系吧 就是一个用java写的C语言的伪代码