Hỏi & đáp lập trình

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi canh en buon, 23/5/07.

  1. sakamoon

    sakamoon C O N T R A

    Tham gia ngày:
    2/9/06
    Bài viết:
    1,792
    mình đang cần giúp đỡ về Java! chưa bao giờ làm qua java nên có chút trỡ ngại khi đọc những câu syntax sau

    public class Cache<K,V>{ //cho mình hoi câu này nghĩa là gì? Cache<K,V>???
    private Map<K,Cache<V>> objectCache = null // dưới này cũng tuơng tự

    public synchronized <X extends V> X get (K key) //câu này mình chỉ hiểu là đồng bộ hoá nhưng câu kế típ cấu trúc lạ với mình quá mình ko hiểu.

    bạn nào giải thích cách declare mấy câu trên dùm mình nha:( cảm ơn rất nhiều
    }
     
  2. emla_uni

    emla_uni Donkey Kong

    Tham gia ngày:
    23/2/06
    Bài viết:
    480
    ^ Cái trên là generics bạn nên vào Generics_in_Java để tham khảo
    Mã:
    public class Cache<K,V>
    cũng giống như khai báo class thông thường nhưng nó có thêm K-V là các generic nôm na cũng giống như 2 class-interface nặc danh khác khai báo trước để trong class Cache sử dụng sau này,
    Ví dụ điển hình nhất là Collections : chẳng hạn
    Mã:
    ArrayList<Student>  students = new ArrayList<Student>()
    khai báo list students trong đó các phần tử là Student.Ở đây ArrayList tương đương với Cache như trên,còn Student chính là K-V

    Mã:
    private Map<K,Cache<V>> objectCache = null
    Đây là 1 field của class Cache tên là objectCache
    Map<K,Cache<V>> cũng tương tự trên là khai báo 1 object kiểu Map<Key,Value> , K là key còn Cache<V> là value.Ví dụ
    Mã:
    Map<String,Cache<Integer>> objectCache ;
    Cuối cùng
    Mã:
    public synchronized <X extends V> X get (K key)
    đây là 1 method của class với :
    synchronized : cái này chắc bạn biết rùi, khi method này (thuộc object A)đc gọi thì khi chưa kết thúc method thì tất cả lời gọi method của object A đều phải chờ
    <X extends V> X get (K key) : cái này trả về 1 object có kiểu là X (trong đó X là class-interface extends từ V), tham biến truyền vào là key có kiểu là K
     
  3. anhtu07

    anhtu07 T.E.T.Я.I.S Lão Làng GVN

    Tham gia ngày:
    22/11/08
    Bài viết:
    653
    [spoil][​IMG][/spoil]

    bạn nào chỉ mình làm sao tạo cái cột nhỏ hai bên giống trong hình trên được ko?
    Có file đính kèm mấy bạn coi dùm mình sai chỗ nào
     

    Các file đính kèm:

  4. cuongchum9

    cuongchum9 Donkey Kong

    Tham gia ngày:
    27/9/07
    Bài viết:
    374
    em rất thích máy tính và sẽ đăng kí dự thi vào ngành CNTT trong năm nay, các anh có thể cho em biết muốn là một lập trình viên giỏi (như supperkhung ấy) phải chọn ngành nào trong nhóm ngành CNTT được không?
     
    Chỉnh sửa cuối: 28/2/11
  5. sphinx2

    sphinx2 Silent Assassin

    Tham gia ngày:
    14/11/04
    Bài viết:
    938
    [C#] Mình có mấy thắc mắc thế này, mong các bạn giải đáp:
    - có cách nào tạo 1 custom event theo ý mình muốn không ?

    Ví dụ khi giá trị của 1 biến (string aaa, double aaa) thay đổi thì bắt sự kiện aaa_ValueChanged
    Mấy cách trên mạng hầu hết là tạo custom event từ 1 class do mình tạo ra. Ở đây mình muốn tạo custom event cho những class có sẵn

    - Double với double khác nhau chỗ nào, tương tự với String-string, Decimal-decimal,...
     
  6. emla_uni

    emla_uni Donkey Kong

    Tham gia ngày:
    23/2/06
    Bài viết:
    480
    ^
    ^ :Lập trình rộng lắm bạn cứ vào thấy cái nào thích thì theo chứ ko theo nhiều mảng nổi đâu !

    @^ theo mình biết thì muốn tạo custom event cho các class có sẵn có thể extends-implements nó ra rồi add thêm event hoặc override lại các event có sẵn ,
    Nếu ko có thể tạo 1 Thread lắng nghe cái aaa nếu thấy aaa bị thay đổi thì gọi aaa_ValueChanged(parameter[]) ra :D
    - Double&double,String&string ... hình như là ko khác nhau gì cả nó đều là alias của System.Double,System.String thôi , có khác là tên chữ thường là khóa nên ko thể dùng khai báo biến còn chữ hoa thì hoàn toàn có thể. Ví dụ
    không bị báo lỗi :D
     
  7. almughavar

    almughavar C O N T R A Lão Làng GVN

    Tham gia ngày:
    31/5/10
    Bài viết:
    1,711
    Mấy bác cho em xin 1 vài phần mềm vẽ đồ họa, cắt sửa hình ảnh mà mấy mem hay dùng để PTS ảnh ấy mà.
    Phần mềm càng: gọn, nhẹ, dễ sử dụng( đời cũ cũng 0 sao) là được ạ.:D
     
  8. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    photoshop, paint.

    các bạn cho hỏi, trong C++, mình có 1 file *.txt, làm cách nào để đọc nội dung cách dòng, ví dụ như file của mình có nội dung:

    trong đó, mình chỉ cần nội dung các dòng 1, 3, 5.
    ai biết giúp giùm, cảm ơn :D
     
    almughavar thích bài này.
  9. shadow2810

    shadow2810 Sonic the Hedgehog

    Tham gia ngày:
    18/9/04
    Bài viết:
    4,666
    Nơi ở:
    Earth
    nvm, đã tự ngộ ra chân lí :D
    cho mình hỏi về SQL chút :|
    bây giờ mình có 3 table như thế này
    Table 1: Owner
    - OwnerID (key)
    - Name

    Table 2: Pet
    - PetId (key)
    - Name
    - OwnerId (FK)

    Table 3: Appointment
    - Billed
    - PetId (key)

    bây giờ yêu cầu của để là list các thông tin của Owner mà Billed trong Appointment > 100 chẳng hạn
    bình thường thì mình viết thế này
    Mã:
    select * from Owner where OwnerID in
    (select OwnerID from Pet where PetID in
    (select PetID from Appointment
    group by PetID
    having sum(billed) > 100))
    nhưng mà giờ lại gặp trở ngại là đoạn code phía trên là group theo Pet
    mà 1 Owner lại có thể có nhiều Pet cùng 1 lúc :| tức là kết quả sẽ cho Billed của 1 con Pet chứ ko phải tất cả Pet của Owner đấy
    ai biết mình nên sửa lại như thế nào ko
     
    Chỉnh sửa cuối: 3/3/11
  10. cuongchum9

    cuongchum9 Donkey Kong

    Tham gia ngày:
    27/9/07
    Bài viết:
    374
    vậy là năm 1 nó cho mình học hết rồi mình thích cái nào thi học cái đó thôi hả anh
     
  11. emla_uni

    emla_uni Donkey Kong

    Tham gia ngày:
    23/2/06
    Bài viết:
    480
    Hình như năm 1 chỉ được học đại cương - các môn chả liên quan gì đến cntt, và mỗi kỳ 1 môn cơ bản như C,C++... nói chung khi bạn vào học dần dần sẽ định hướng đc nó gồm những gì
    Theo mình thấy thì những gì học đc ở trường đại học chỉ là những nền tảng,còn khi làm việc thì còn phải học hỏi rất nhiều chứ ko phải học dh ra phát thành siêu nhân ngay đâu
     
  12. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    cho hỏi là khi viết code để tính toán bằng C, cụ thể là thực hiện phép nhân ma trận, thì giữa 2 cách sau:
    - cách 1: ghi giá trị của các phần tử trong ma trận vào 1 mảng nxn rồi tính toán bằng các mảng vừa thu được.
    - cách 2: 2 ma trận có sẵn trong fie, đọc từng phần tử từ file rồi nhân với nhau.
    cách nào sẽ nhanh hơn.
    và mình xin hỏi luôn là 2 cách đó thì cách nào tốn bộ nhớ hơn :-?
     
  13. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Cách 1 tốn bộ nhớ hơn, nhưng nhanh hơn. Trong cách 1 thì bộ nhớ gần như tối ưu rồi nên coi như là bt.
    Còn nhân kiểu 2 thì vừa đọc vừa nhân thì chậm hơn rồi.
    Chỉ là tương đối thôi, vì có thể cách 1 là đọc từ file->ma trận thì cũng chậm thế :D
     
  14. NguyenQuoc_tnt

    NguyenQuoc_tnt Youtube Master Race

    Tham gia ngày:
    6/7/10
    Bài viết:
    14
    các pác sửa lỗi này dùm em

    mình muon insert từ file XML vào Database

    string connetionString = null;
    SqlConnection connection;
    SqlCommand command;
    SqlDataAdapter adpter = new SqlDataAdapter();
    DataSet ds = new DataSet();
    XmlReader xmlFile;
    string sql = null;

    int MaHSX = 0;
    string TenHSX = null;

    connetionString = "Data Source=NG_QUOC-PC;Initial Catalog=LinhKienMayTinh;Persist Security Info=True;User ID=sa;Password=123456789";

    connection = new SqlConnection(connetionString);

    xmlFile = XmlReader.Create("HangSanXuat.xml", new XmlReaderSettings());
    ds.ReadXml(xmlFile);
    int i = 0;
    connection.Open();
    for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
    {
    MaHSX = Convert.ToInt32(ds.Tables[0].Rows.ItemArray[0]);

    TenHSX = ds.Tables[0].Rows.ItemArray[1].ToString();
    /// loi ngay dong tren TenHSX nay/////////// Index was outside the bounds of the array.
    sql = "insert into HangSanXuat values(" + MaHSX + ",'" + TenHSX + "')";
    command = new SqlCommand(sql, connection);
    adpter.InsertCommand = command;
    adpter.InsertCommand.ExecuteNonQuery();
    }
    connection.Close();
    MessageBox.Show("Insert Thành Công ");
     
  15. emla_uni

    emla_uni Donkey Kong

    Tham gia ngày:
    23/2/06
    Bài viết:
    480

    rows này có đúng 1 column nên chạy đoạn
    không bị lỗi,
    Bạn thử check lại xem !
     
  16. badboyx9x

    badboyx9x Legend of Zelda

    Tham gia ngày:
    2/7/10
    Bài viết:
    935
    Nơi ở:
    Ha Giang City
    Mấy Anh cho em xin link CD C++ toàn tập với ạ, tìm mỏi mắt toàn link die...
    Còn mấy cái e book thì cứ đến phần c++ là y như rằng thiếu bài 2: hàm và biến, là bài rất quan trọng. Anh nào có thì cho em xin luôn
     
  17. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    cám ơn, mới test xong, đúng là 1 trời 1 vực X_X
    à, mà nhân tiện cho hỏi là thằng C nó giới hạn kích thước mảng, mà tui thì cần mảng 8000x8000, ko biết có cách nào để tạo 1 cái mảng như thế không :-? chạy trên linux được không nhỉ :-?
     
  18. almughavar

    almughavar C O N T R A Lão Làng GVN

    Tham gia ngày:
    31/5/10
    Bài viết:
    1,711
    Mấy bác cho hỏi làm sao chuyển từ dạng hình trong "Adobe imageReady CS2" sang dạng jped hay dạng gì đó để upload lên internet vậy nhỉ?
    Với lại bác nào có code kích hoạt photoshop CS2 ko cho em xin với ạ?:P
     
  19. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    mở cái file ảnh đó lên bằng PTS, save as, có 1 chỗ nó cho mình chọn save ở định dạng nào (bmp,jpeg...)
     
  20. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Dùng linked list :D
     

Chia sẻ trang này