JAVA代码与编程题

十三、代

135、写一个Singleton出来

  Singleton模式主要作用是保Java用程序中,一个Class只有一个例存在。

  一般Singleton模式通常有几种种形式:

  第一形式: 一个,它的构造函数private的,它有一个staticprivate该类变量,在初始化时实,通一个publicgetInstance方法它的引用,用其中的方法。

public class Singleton {
private Singleton(){}
  private static Singleton instance = new Singleton();

     //里提供了一个供外部访问class的静方法,可以直接访问  
 public static Singleton getInstance() {
   return instance;   

  }
}

   第二形式:

public class Singleton {
  private static Singleton instance = null;

   //个方法比上面有所改,只是第一次使用生成例,提高了效率
  public static synchronized Singleton getInstance() {
  if (instance==null) instancenew Singleton();
    return instance;
  }
}

  其他形式:定一个,它的构造函数private的,所有方法static的。

  一般认为第一形式要更加安全些

136问题,一般都是选择题,你将会打印出什?

  答:

package test;
public class FatherClass {
  public FatherClass() {
    System.out.println("FatherClass Create");
  }
}

  子

package test;
import test.FatherClass;
public class  ChildClass extends FatherClass {
  public ChildClass() {
    System.out.println("ChildClass Create");
  }

  public static void main(String[] args) {
    FatherClass fc = new FatherClass();
    ChildClass cc = new ChildClass();
  }
}

  果:

C:/>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create

137、内部实现方式?

  答:示例代如下:

package test;
public class OuterClass {
  private class InterClass {
    public InterClass() {
      System.out.println("InterClass Create");
    }
  }

  public OuterClass() {
    InterClass ic = new InterClass();
    System.out.println("OuterClass Create");
  }

  public static void main(String[] args) {
    OuterClass oc = new OuterClass();
  }
}

  果:

C:/>java test/OuterClass
InterClass Create
OuterClass Create
  再一个例

public class OuterClass {
  private double d1 = 1.0;
  //insert code here
}

You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.)

A. class InnerOne{
     public static double methoda() {return d1;}
   }
B. public class InnerOne{
     static double methoda() {return d1;}
   }
C. private class InnerOne{
     double methoda() {return d1;}
   }
D. static class InnerOne{
     protected double methoda() {return d1;}
   }
E. abstract class InnerOne{
     public abstract double methoda();
   }

   明如下:

  1.内部可以有静,而非静内部类则不能有静。 故 AB

  2.内部的非静可以访问外部的静态变量,而不可访问外部的非静态变量;故 D

  3.非静内部的非静可以访问外部的非静态变量。 故 C 正确

  4.答案CE

138Java 的通信程,(),用JAVA SOCKET程,器几个字符,再写入本地示?

  答:Server端程序:

package test;
import java.net.*;
import java.io.*;

public class Server{
  private ServerSocket ss;
  private Socket socket;
  private BufferedReader in;
  private PrintWriter out;
 
 public Server() {
  try {
   ss=new ServerSocket(10000);
   while(true) {
    socket = ss.accept();
    String RemoteIP = socket.getInetAddress().getHostAddress();
    String RemotePort = ":"+socket.getLocalPort();
    System.out.println("A client come in!IP:"+RemoteIP+RemotePort);
    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    String line = in.readLine();
    System.out.println("Cleint send is :" + line);
    out = new PrintWriter(socket.getOutputStream(),true);
    out.println("Your Message Received!");
    out.close();
    in.close();
    socket.close();
   }
  }catch (IOException e) {
   out.println("wrong");
  }
 }

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

  Client端程序:

package test;
import java.io.*;
import java.net.*;

public class Client {
 Socket socket;
 BufferedReader in;
 PrintWriter out;
 public Client() {
  try {
   System.out.println("Try to Connect to 127.0.0.1:10000");
   socket = new Socket("127.0.0.1",10000);
   System.out.println("The Server Connected!");
   System.out.println("Please enter some Character:");
   BufferedReader line = new BufferedReader(new InputStreamReader(System.in));
   out = new PrintWriter(socket.getOutputStream(),true);
   out.println(line.readLine());
   in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
   System.out.println(in.readLine());
   out.close();
   in.close();
   socket.close();
  }catch(IOException e) {
   out.println("Wrong");
  }
 }

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

139、用JAVA实现排序,JAVA类实现序列化的方法()? 如在COLLECTION框架中,实现实现么样的接口?

  答:用插入法行排序代如下:

package test;
import java.util.*;
class  InsertSort {
 ArrayList al;

 public InsertSort(int num,int mod) {
  al = new ArrayList(num);
  Random rand = new Random();
  System.out.println("The ArrayList Sort Before:");
  for (int i=0;i<num></num>    al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
   System.out.println("al["+i+"]="+al.get(i));
  }
 }

 public void SortIt() {
  Integer tempInt;
  int MaxSize=1;
  for(int i=1;i    tempInt = (Integer)al.remove(i);
   if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) {
    al.add(MaxSize,tempInt);
    MaxSize++;
    System.out.println(al.toString());
   } else {
    for (int j=0;j<maxsize></maxsize>      if (((Integer)al.get(j)).intValue()>=tempInt.intValue()) {
      al.add(j,tempInt);
      MaxSize++;
      System.out.println(al.toString());
      break;
     }
    }
   }
  }

  System.out.println("The ArrayList Sort After:");
  for(int i=0;i    System.out.println("al["+i+"]="+al.get(i));
  }
 }

 public static void main(String[] args) {
  InsertSort is = new InsertSort(10,100);
  is.SortIt();
 }
}

140程:写一个截取字符串的函数,一个字符串和字数,按字截取的字符串。 但是要保证汉字不被截半个,如ABC”4应该AB”ABCDEF”6应该输ABC”而不是ABC+的半个

  答:代如下:

package test;

class  SplitString {
 String SplitStr;
 int SplitByte;
 public SplitString(String str,int bytes) {
  SplitStr=str;
  SplitByte=bytes;
  System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);
 }

 public void SplitIt() {
  int loopCount;
  loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte+1);
  System.out.println("Will Split into "+loopCount);
  for (int i=1;i<=loopCount ;i++ ) {
   if (i==loopCount){
    System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
   } else {
    System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
   }
  }
 }

 public static void main(String[] args) {
  SplitString ss = new SplitString("test
dddsaf中男大3443n中国43中国人
0ewldfls=103",4);
  ss.SplitIt();
 }
}

141JAVA线程。 用JAVA写一个多线程程序,如写四个线程,二个加1,二个一个量减一,出。

  希望大家上,谢谢

142、可能会你写一段JdbcOracle的程序,实现数据查询.

  :程序如下:

package hello.ant;
import java.sql.*;

public class  jdbc {
 String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
 String theUser="admin";
 String thePw="manager";
 Connection c=null;
 Statement conn;
 ResultSet rs=null;

 public jdbc() {
  try{
   Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
      c = DriverManager.getConnection(dbUrl,theUser,thePw);
   conn=c.createStatement();
  }catch(Exception e){
   e.printStackTrace();
  }
 }

 public boolean executeUpdate(String sql) {
  try {
   conn.executeUpdate(sql);
   return true;
  } catch (SQLException e) {
   e.printStackTrace();
   return false;
  }
 }

 public ResultSet executeQuery(String sql) {
  rs=null;
  try {
   rs=conn.executeQuery(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return rs;
 }

 public void close() {
  try {
   conn.close();
   c.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public static void main(String[] args) {
  ResultSet rs;
  jdbc conn = new jdbc();
  rs=conn.executeQuery("select * from test");
  try {
   while (rs.next()) {
    System.out.println(rs.getString("id"));
    System.out.println(rs.getString("name"));
   }
  }catch(Exception e) {
   e.printStackTrace();
  }
 }
}

143ORACLE大数据量下的分解决方法。一般用截取ID方法,有是三嵌套方法。

  答:方法:

  出内容:

//出翻页连
:/

 
[]

144、用jdom解析xml文件如何解决中文问题?如何解析?

  答:看如下代,编码方式加以解决:

package test;
import java.io.*;

public class DOMTest {
 private String inFile = "c://people.xml";
 private String outFile = "c://people.xml";

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

 public DOMTest() {
  try {
   javax.xml.parsers.DocumentBuilder builder =
    javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
      org.w3c.dom.Document doc = builder.newDocument();
      org.w3c.dom.Element root = doc.createElement("
");
      org.w3c.dom.Element wang = doc.createElement("
");
   org.w3c.dom.Element liu = doc.createElement("
");
      wang.appendChild(doc.createTextNode("
我是王老
"));
      root.appendChild(wang);
      doc.appendChild(root);
      javax.xml.transform.Transformer transformer =
       javax.xml.transform.TransformerFactory.newInstance().newTransformer();
      transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");
      transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");  
      transformer.transform(new javax.xml.transform.dom.DOMSource(doc),
       new javax.xml.transform.stream.StreamResult(outFile));
  } catch (Exception e) {
   System.out.println (e.getMessage());
  }
 }
}

145程用JAVA解析XML的方式.

  答:用SAX方式解析XMLXML文件如下:


<person></person>
  <name></name>
王小明
  <college></college>
信息学院
  
  <telephone></telephone>6258113
  <notes></notes>
,1955年生,博士,95
入海南大学


 
  事件回
调类SAXHandler.java

import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;

public class SAXHandler extends HandlerBase {
  private Hashtable table = new Hashtable();
  private String currentElement = null;
  private String currentValue = null;

  public void setTable(Hashtable table) {
    this.table = table;
  }

  public Hashtable getTable() {
    return table;
 }

  public void startElement(String tag, AttributeList attrs) throws SAXException {
    currentElement = tag;
  }

  public void characters(char[] ch, int start, int length) throws SAXException {
    currentValue = new String(ch, start, length);
  }

  public void endElement(String name) throws SAXException {
    if (currentElement.equals(name)) {
      table.put(currentElement, currentValue);
    }
  }
}

JSP内容示源SaxXml.jsp















146EJB的基本架构

  答:一个EJB包括三个部分:

  Remote Interface 接口的代

  package Beans;
  import javax.ejb.EJBObject;
  import java.rmi.RemoteException;
  public interface Add extends EJBObject {
    //some method declare
  }

  Home Interface 接口的代

 

  package Beans;
  import java.rmi.RemoteException;
  import jaax.ejb.CreateException;
  import javax.ejb.EJBHome;
  public interface AddHome extends EJBHome {
    //some method declare
  }
  EJB
的代

  package Beans;
  import java.rmi.RemoteException;
  import javax.ejb.SessionBean;
  import javx.ejb.SessionContext;
  public class AddBean Implements SessionBean
  {
    //some method declare
  }

147、如何校数字型?

var re=/^/d{1,8}$|/./d{1,2}$/;
var str=document.form1.all(i).value;
var r=str.match(re);
if (r==null) {
  sign=-4;
  break;
}else{
  document.form1.all(i).value=parseFloat(str);
}
 
148
、将一个
键盘输入的数字化成中文(例如:1234567:一百二拾三万四千五百六拾七),java一段程序实现!

public class Reader {
  private String strNum;
  private String strNumChFormat;
  private String strNumTemp;
  private int intNumLen;
  private String strBegin;
  public Reader(String strNum) {
    this.strNum = strNum;
  }

  public boolean check(String strNum) {
    boolean valid = false;
   
    if (strNum.substring(0,1).equals("0")){
     this.strNum = strNum.substring(1);
    }
    try {
      new Double(strNum);
      valid = true;
    } catch (NumberFormatException ex) {
      System.out.println("Bad number format!");
    }
    return valid;
  }

  public void init() {
    strNumChFormat = "";
    intNumLen = strNum.length();
    strNumTemp = strNum;
    strNumTemp = strNumTemp.replace('1', '
');
    strNumTemp = strNumTemp.replace('2', '
');
    strNumTemp = strNumTemp.replace('3', '
');
    strNumTemp = strNumTemp.replace('4', '
');
    strNumTemp = strNumTemp.replace('5', '
');
    strNumTemp = strNumTemp.replace('6', '
');
    strNumTemp = strNumTemp.replace('7', '
');
    strNumTemp = strNumTemp.replace('8', '
');
    strNumTemp = strNumTemp.replace('9', '
');
    strNumTemp = strNumTemp.replace('0', '
');
    strNumTemp = strNumTemp.replace('.', '
');
    strBegin = strNumTemp.substring(0, 1);
  }

  public String readNum() {
    if (check(strNum)) {
      init();
      try {
        for (int i = 1, j = 1, k = 1; i < intNumLen; i++) {
          if (strNumTemp.charAt(intNumLen - 1) == '
' && i == 1) {
            strNumChFormat = "
";
          }
          else if (strNumTemp.charAt(intNumLen - i) == '
' && j == 1) {
            strNumChFormat = "
" + strNumChFormat;
          }
          else if (strNumTemp.charAt(intNumLen - i) == '
') {
            j = 1;
            k = 1;
            strNumChFormat = strNumTemp.charAt(intNumLen - i) + strNumChFormat;
            continue;
          }
          else {
            strNumChFormat = strNumTemp.charAt(intNumLen - i) + strNumChFormat;
          }
          if (strNumTemp.charAt(intNumLen - i - 1) != '
' &&
              strNumTemp.charAt(intNumLen - i - 1) != '
') {
            if (j == 1 && i < intNumLen) {
              strNumChFormat = '
' + strNumChFormat;
            }
            else if (j == 2 && i < intNumLen) {
              strNumChFormat = '
' + strNumChFormat;
            }
            else if (j == 3 && i < intNumLen) {
              strNumChFormat = '
' + strNumChFormat;
            }
          }
          if (j == 4 && i < intNumLen) {
            j = 0;
          }
    if (k == 4 && i < intNumLen) {
            strNumChFormat = '
' + strNumChFormat;
          }
          else if (k == 8 && i < intNumLen) {
            k = 0;
            strNumChFormat = '
亿
' + strNumChFormat;
          }
          j++;
          k++;
        }
        while (strNumChFormat.indexOf("
") != -1) {
          strNumChForm

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值