教室でのテスト - 水王を見つけます

私は、題し

  大きな「水の王」があり、彼はポストを好んでなく、各ポストによって発行された他のIDに対応するだけでなく。ポスト「水の王」の数より多くの記事の総数の半分以上。あなたも投稿者のIDテーブルでフォーラム(含む応答)リスト、上の現在のすべての記事を持っている場合は、すぐにこの伝説的な王が行う水を見つけることができますか?

第二に、デザインのアイデア

  「水の王が」彼は投稿の総数の半分以上なので、投稿を削除する最も恐れて、その後、私たちは同じIDとの比較に二から左折することができ、異なるIDがなくなります。

 
パッケージtiezi。

パブリック クラス豆{
 int型のID。
文字名;
公共 INT のgetId(){
     戻りID。
} 
公共 ボイド SETID(int型のID){
     この .ID = ID。
} 
パブリック チャーのgetName(){
     戻り名。
} 
公共 ボイドのsetName(チャー名){
     この .nameの= 名前。
} 
}
パッケージtiezi。

インポートのjava.sql.Connection;
インポートのjava.sql.ResultSet;
輸入ます。java.sql.SQLException;
輸入java.sql.Statementの。

輸入tiezi.DBUtil; 

パブリック クラスchaxun {
      公共 静的 ボイドメイン(文字列[]引数){ 
        
    // INT ID = 1。
    int型のq = 0 ;
    INT W = 0 int型のp = 0 ; 
    
    列A = "01A" 
    列B = "02A" 
    列c = "03A" 以下のためのINTの ID = 1、ID <8は、ID ++ ){ 
        文字列のSQL = "+ ID + " '' tiezi ID = SELECT * FROM"" 
        接続CONN = DBUtil.getConn()。
        ステートメント状態 = ヌル
        ResultSetのRS = nullを
        文字列名[] = 新しい文字列[200 ]。
        文字列str = nullをint型私= 0 ;
        試す{ 
            状態 = conn.createStatement()。
            RS =state.executeQuery(SQL)。
            もし(rs.next()){ 
                STR = rs.getString( "名" );
                // 名前[I] = STR。
                // 私は++します; 
                
                I ++ ; 
            
            } 
        
            // するSystem.out.println(名前[I])。
            
                
            もし(str.equals(A)){ 
                
                Q ++ 
            } そう であれば(str.equals(B)){ 
                
                W ++ 
            } 
            そう であれば(str.equals(C)){ 
                
                P ++ 
            
            
            
          
          //  System.out.println(W)。
           // するSystem.out.println(P); 
            
            } 
              // のSystem.out.println(Q)。
            
        } キャッチ(のSQLException E){ 
            e.printStackTrace(); 
        } 最後に{ 
            DBUtil.close(RS、状態、CONN)。
        } 
    
        
    
        
        } 
    


    int型の最大値。
    もし(Q> W){ 
        最大 = Q。
        
    } そう であれば(P> Q){ 
        最大 = P。
    } 
    { 
        マックス = W。
    }
    IF(Q == MAX){ 
    するSystem.out.println( "水王" + C);} 
    
} 
    }
パッケージtiezi。

インポートのjava.sql.Connection;
インポートのjava.sql.ResultSet;
輸入ます。java.sql.SQLException;
輸入java.sql.Statementの。

輸入tiezi.DBUtil; 

パブリック クラスchaxun {
      公共 静的 ボイドメイン(文字列[]引数){ 
        
    // INT ID = 1。
    int型のq = 0 ;
    INT W = 0 int型のp = 0 ; 
    
    列A = "01A" 
    列B = "02A" 
    列c = "03A" 以下のためのINTの ID = 1、ID <8は、ID ++ ){ 
        文字列のSQL = "+ ID + " '' tiezi ID = SELECT * FROM"" 
        接続CONN = DBUtil.getConn()。
        ステートメント状態 = ヌル
        ResultSetのRS = nullを
        文字列名[] = 新しい文字列[200 ]。
        文字列str = nullをint型私= 0 ;
        試す{ 
            状態 = conn.createStatement()。
            RS =state.executeQuery(SQL)。
            もし(rs.next()){ 
                STR = rs.getString( "名" );
                // 名前[I] = STR。
                // 私は++します; 
                
                I ++ ; 
            
            } 
        
            // するSystem.out.println(名前[I])。
            
                
            もし(str.equals(A)){ 
                
                Q ++ 
            } そう であれば(str.equals(B)){ 
                
                W ++ 
            } 
            そう であれば(str.equals(C)){ 
                
                P ++ 
            
            
            
          
          //  System.out.println(W)。
           // するSystem.out.println(P); 
            
            } 
              // のSystem.out.println(Q)。
            
        } キャッチ(のSQLException E){ 
            e.printStackTrace(); 
        } 最後に{ 
            DBUtil.close(RS、状態、CONN)。
        } 
    
        
    
        
        } 
    


    int型の最大値。
    もし(Q> W){ 
        最大 = Q。
        
    } そう であれば(P> Q){ 
        最大 = P。
    } 
    { 
        最大 = W。
    }
    IF(Q == MAX){ 
    するSystem.out.println( "水王" + C);} 
    
} 
    }



スクリーンショット実験:

 

 

 

おすすめ

転載: www.cnblogs.com/ljm-zsy/p/10963701.html