Khóa học free Bài 24: String và một số phương thức của lớp String trong Java

Thảo luận trong 'Java cơ bản' bắt đầu bởi Tiasangmoi92, 21/7/13.

  1. Tiasangmoi92

    Tiasangmoi92 Super Moderator

    Lượt xem: 26,489
    /* Bài viết thuộc loạt bài hướng dẫn trong "Khóa Học Lập Trình Java Miễn Phí"
    trên diễn đàn Android.Vn, bạn có thể vào đây đọc

    để hiểu hơn về khóa học và tham gia ngay cùng mọi người;) */

    string java
    Ở những bài trước, chúng ta đã làm quen với String, khi nhập xuất dữ liệu. Trong bài hôm nay, mình sẽ giới thiệu thật kỹ về lớp này. Tính áp dụng của bài này trong thực tế là rất cao, nên các bạn thật chú ý làm các ví dụ và bài tập về nhà ở phía cuối. Bài này rất dễ nhưng mình xin nhắc lại là bài này hết sức quan trọng!

    1, Khái niệm, cách khai báo và khởi tạo!

    a, Khái niệm:
    Chuỗi là tập các kí tự đứng liền nhau được giới hạn trong dấu ngoặc kép như: "Hello thế giới Java", "Hello Android.Vn - Tôi Yêu các bạn!"
    Còn các ký tự các bạn nhớ là trong ngoặc đơn 'c', 'a', 'b' ...tránh nhầm lẫn chỗ này!
    b, Cách khai báo, khởi tạo:
    Các bạn xem code demo dưới đây là hiểu ngay nhé, mình giới thiệu 3 cách khởi tạo ứng với 3 chuỗi str1, str2, str3:
    PHP:
    package javaandroidvn;
     
    public class 
    JavaAndroidVn {
     
        public static 
    void main(String[] args) {
            
    String str1 = new String();
            
    str1 "Hello Android.Vn";
     
            
    String str2 = new String ("Xin chào các bạn, tôi đang tham gia Android.Vn");
     
            
    String str3 "Tôi yêu Android.Vn";
     
            
    System.out.println(str1+"\n"+str2+"\n"+str3);
        }
    }
    c, Khởi tạo chuỗi từ mảng các ký tự:
    Code demo: Ở đây có 2 cách, và mình bổ sung thêm phần cộng 2 chuỗi - mình cũng chưa nói ở những bài trước:
    PHP:
    package javaandroidvn;
     
    public class 
    JavaAndroidVn {
     
        public static 
    void main(String[] args) {
            
    char ch[] = {'A''n''d''r''o''i''d''.''V''n'};
            
    String str1 = new String(ch);
            
    System.out.println("str1: " str1);
     
            
    String str2 = new String(ch25); //Lấy từ vị trí số 2, và lấy 5 ký tự trong mảng kể từ vị trí đó
            
    System.out.println("str2: " str2);
     
            
    //Cộng 2 chuỗi - phần này bổ sung thêm
            
    String str3 str1str2;
            
    //String str3 = str1.concat(str2); Cách này cũng nối được 2 chuỗi!
            
    System.out.println("str3: "+str3);
        }
    }
    2, Chuyển chuỗi sang mảng ký tự:

    Phần 1c, mình đã chia sẻ các phương thức chuyển từ mảng các ký tự sang chuỗi, phần này sẽ là ngược lại.
    Code demo:
    PHP:
    package javaandroidvn;
     
    public class 
    JavaAndroidVn {
     
        public static 
    void main(String[] args) {
            
    String str "Android.Vn Android.Vn";
     
            
    //Chuyển chuỗi thành mảng ký tự!
            
    System.out.println("Chuyển chuỗi thành mảng ký tự!");
            
    char arr[] = str.toCharArray();
            for (
    int i 0str.length(); i++) {
                
    System.out.print(arr[i] + " ");
            }
        }
    }
    3,Các phương thức xử lý chuỗi cơ bản:

    Phần này rất dễ hiểu, mình sẽ giải thích luôn các phương thức trong code demo, đoạn nào không hiểu các bạn hỏi ở phía dưới nhé ;)
    **Chú ý: Vị trí các ký tự trong chuỗi cũng giống như trong mảng, bắt đầu từ vị trí số 0 và kết thúc là (độ dài chuỗi - 1).
    PHP:
    package javaandroidvn;
     
    public class 
    JavaAndroidVn {
     
        public static 
    void main(String[] args) {
            
    String str "Android.Vn Android.Vn";
            
    System.out.println("str = " str);
     
            
    // Lấy từ vị trí số 8 tới cuối cùng của chuỗi
            
    System.out.println("str.substring(8) = " str.substring(8));
     
            
    //Lấy từ vị trí số 3 tới vị trí số 9
            
    System.out.println("str.substring(3,9) = " str.substring(39));
     
            
    //Độ dài chuỗi:
            
    System.out.println("Độ dài chuỗi: str.length() = " str.length());
     
            
    //Lấy ra ký tự trong chuỗi theo chỉ số
            
    char ch;
            
    ch str.charAt(4);
            
    System.out.println("str.charAt(4) = " ch);
     
            
    // Thay 1 ký tự bằng ký tự khác trong chuỗi:
            
    System.out.println("Thay tất cả ký tự 'n' bằng ký tự 'x' = " str.replace('n''x'));
     
            
    //Tìm chuỗi "And" là chuỗi con của chuỗi str, thay kết quả đầu tiên bằng chuỗi "xxx"
            
    System.out.println("Thay And đầu tiên bằng xxx = " str.replaceFirst("And""xxx"));
     
            
    //Thay toàn bộ chuỗi "And" của chuỗi str bằng chuỗi "xxx":
            
    System.out.println("Thay tất cả And bằng xxx = " str.replaceAll("And""xxx"));
     
            
    //Chuyển thành chữ thường:
            
    System.out.println("str chuyển về viết thường: " str.toLowerCase());
     
            
    //Chuyển thành chữ hoa:
            
    System.out.println("str chuyển về viết hoa: " str.toUpperCase());
     
            
    //Loại bỏ khoảng trống 2 bên chuỗi
            
    String str1 "  "+str+"  ";
            
    System.out.println("    Android.Vn Android.Vn  --> "+str1.trim());
     
        }
    }
    Những phương thức trên là cơ bản nhưng hay dùng, các bạn có thể tìm hiểu thêm
    bằng cách ấn "Ctrl + space" :D

    4, Chuyển kiểu dữ liệu từ String sang số:

    Các phương thức chuyển kiểu dữ liệu từ String sang số nằm trong gói thư viện java.lang ta có bảng các phương thức như sau:

    string to int float double
    Ví dụ:
    PHP:
    String str =new String(“987”);
    int a Integer.parseInt(str);
    Kết quả là a = 987;

    Mục 4 này thực tế cũng rất hay dùng nhé, các bạn chú ý!

    Bổ sung thêm video bên blog StudyAndShare:





    [​IMG]

    Bài tập về nhà::D
    Một bài nho nhỏ thôi, còn lại, chúng ta sẽ thực hành với String kèm theo ở các bài tập các bài sau!
    Khai báo 1 mảng các chuỗi là tên học sinh. Tìm kiếm tất cả các học sinh họ "Nguyễn". In kết quả ra màn hình.

    Xem thêm phần mở rộng, cũng hết sức quan trọng:

    Phương thức toString (blog studyandshare)



    StringBuilder và StringBuffer (blog studyandshare)


    (Chú ý: Các bạn nên tự giác làm bài tập, hoàn thiện rồi đăng lên, các bài bạn đã làm, nên để code trong thẻ code - chọn thẻ PHP cho rõ ràng và để ẩn code trong thẻ ẩn spoiler, để khi click vào mới hiện code lên , trước khi thử sức tự làm, bạn không nên nhìn code của các bạn khác đã đăng nhé;))

    [​IMG]

    My Facebook: https://www.facebook.com/tiasangmoi

    Bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: Android.Vn
    string java, substring java, so sánh chuỗi, chuỗi thành ký tự trong java, ký tự, array to string, string to array, string to int, string to float, khóa học lập trình java
    x_mars, Sky6596Quagn1998 thích bài này.
  2. Tiasangmoi92

    Tiasangmoi92 Super Moderator

    Bổ sung thêm video phần StringBuilder và StringBuffer , mình định viết riêng, nhưng do nó cũng gần tương tự String, nên hy vọng các bạn xem video hướng dẫn phía cuối bài trên là đủ rồi :)
    x_mars thích bài này.
  3. phongdt

    phongdt New Member

    http://javarevisited.blogspot.de/2011/07/string-vs-stringbuffer-vs-stringbuilder.html
    Đây là 1 bài viết rất hay phân tích sự khác biệt giữa String, StringBuffer và StringBuilder :). Tia sáng mới nên xem xét bổ sung vào bài hướng dẫn trên.
    Còn đây là quote lấy từ http://www.tutorialspoint.com/java/java_string_buffer.htm

    Show Spoiler
    Dịch sơ cho bạn nào đọc không quen:
    StringBuffer và StringBuilder được dùng khi cần thiết thực hiện nhiều thay đổi trên chuỗi các ký tự.
    Không giống như String, đối tượng của StringBuffer và StringBuilder có thể được thay đổi liên tục mà không để lại các đối tượng chưa sử dụng ( Ý của đoạn này là khi chúng ta thay đổi 1 đối tượng của class String ví dụ như upperCase, lowerCase thì thực tế là chúng ta đã sinh ra 1 đối tượng mới của lớp String)
    StringBuilder được giới thiệu từ Java 5 và điểm khác biệt chính giữa nó và StringBuffer là các phương thức của StringBuilder không an toàn ( "không đồng bộ" - phần này liên quan đến synchronise, multi-threading )
    Lời khuyên là nên sử dụng StringBuilder ở nơi nào có thể thì nó nhanh hơn StringBuffer. Tuy nhiên khi cần thiết phải thread safety thì lựa chọn tốt nhất là StringBuffer


    Mình không hiểu ý lắm đề bài nên viết theo cách hiểu của mình
    Show Spoiler

    PHP:
    package basic;
     
    import java.util.Scanner;
    import basic.NumbersHandling;
     
    public class 
    StudentsManage {
     
        private static 
    Scanner input = new ScannerSystem.in );
        private 
    Student[] manage;
       
        private class 
    Student
        
    {
            private 
    StringBuilder firstName;
            private 
    StringBuilder lastName;
           
            public 
    Student()
            {
                
    System.out.print( "\nEnter first name: " );
                
    String first input.nextLine();
                
    System.out.print( "Enter last name: " );
                
    String last input.nextLine();
               
                
    firstName = new StringBuilderfirst );
                
    lastName = new StringBuilderlast );
            }
           
            @ 
    Override
            
    public String toString()
            {
                return 
    String.format"student " firstName " " lastName );
            }
        }
       
        public 
    StudentsManage()
        {
            
    System.out.print( "Enter number of students: " );
            
    boolean continueLoop true;
            
    int number 0;
            while ( 
    continueLoop )
            {
                try
                {
                    
    number NumbersHandling.inputIntegerHandling();
                    if ( 
    number )
                        
    continueLoop false;
                    else
                        throw new 
    IllegalArgumentException "The number of students is greater than 0" );
                }
                catch ( 
    Exception e )
                {
                    
    System.out.println);
                }
            }
            
    manage = new Studentnumber ];
           
            for ( 
    int i 0numberi++ )
            {
                
    manage] = new Student();
            }
        }
       
        public 
    void searchString str )
        {
            
    boolean found false;
            
    int counter 0;
            while ( 
    counter manage.length )
            {
                if ( 
    str.equalsmanagecounter ].lastName.toString() ) )
                {
                    
    System.out.println"Found " managecounter ].toString() );
                    
    found true;
                }
                    
    counter++;
            }
            if ( !
    found )
                
    System.out.println"Nobody has " str " in last name "  );
        }
       
        public 
    void run()
        {
            
    System.out.print( "\nEnter last name that you want to find: " );
            
    String str input.nextLine();
            
    searchstr );
        }
       
        public static 
    void main(String[] args) {
            
    StudentsManage newTest = new StudentsManage();
            
    newTest.run();
        }
     
    }
    x_marsTiasangmoi92 thích bài này.
  4. Tiasangmoi92

    Tiasangmoi92 Super Moderator

    Hi, thank bạn đã chia sẻ, bài viết ấy nói khá đầy đủ về StringBuilder và StringBuffer!
    Tuy nhiên trong video cuối mình chèn cũng nói không hề ít:

    Ít nhất mọi người cũng đủ hiểu để dùng "Ctrl + space" tự xem các phương thức trong video đã nói !
    Ở bài viết, mình chỉ viết ở mức độ cơ bản, làm bài tập cho thạo, mục đích là dễ hiểu để tự mở rộng thôi! (Biết cách dùng String -> cách dùng Sring Buider và String Buffer )
    Còn bài tập về nhà, đề đơn giản là tạo 1 mảng ["Nguyen Van A", "Vu van B", "hoang thi A", "Tran ngoc Ạnh","Nguyen Van B" ....], rồi nhập từ "nguyen" vào nó thống kê ra các tên có họ đó là được!
    x_mars thích bài này.
  5. Hiepht23

    Hiepht23 New Member

    Mình làm thế này
    Show Spoiler
    PHP:
    public class bt24_1 {
        public static 
    void main(String[] arg) {
            
    String[] arr = { "Nguyen Tuan Anh""Nguyen TRung Anh",
                    
    "Nguyen The Anh""Hoang Van Anh""Trinh the Anh" };
        
    int i;
        for(
    i=0;i<arr.length;i++){
            
    arr[i].trim();
            if(
    arr[i].substring(06).equals("Nguyen")){
                
    System.out.println("name: "arr[i]);
            }
        }
           
        }
     
    }
    soiconsutucon, x_marsTiasangmoi92 thích bài này.
  6. Tiasangmoi92

    Tiasangmoi92 Super Moderator

    Bạn dùng trim() bị nhầm rồi, arr.trim nó chỉ tạo ra 1 chuỗi mà đã bỏ khoảng trắng 2 đầu, nhưng nó không thay đổi giá trị gốc của chính nó, bạn thử cho dấu "cách" ở đầu mấy chuỗi xem.
    Bạn có thể dùng dòng này thay thế:
    PHP:
    arr[i] = arr[i].trim();
    x_marsHiepht23 thích bài này.
  7. dienlh93

    dienlh93 New Member

    bai nay duoc chu a
    Show Spoiler

    PHP:
    import java.io.DataInputStream;
    class 
    InputData{
        static 
    DataInputStream str=new DataInputStream(System.in);
        public static 
    String InputString(){
            
    String st null;
            try{
                
    st=str.readLine();
            }catch(
    Exception e){
                
    System.out.print("Error!"+e.toString());
            }
            return 
    st;
        }
        public static 
    int InputInt(){
            
    String st=null;
            
    st=InputData.InputString();
            
    int i=0;
            try{
                
    i=Integer.valueOf(st).intValue();
            }catch(
    Exception e){
                
    System.out.print("Error!"+e.toString());
            }
            return 
    i;
        }
     
    }
    public class 
    String1 {
        public static 
    void main(String[] args){
            
    String[] name=null;
            
    System.out.print("nhap so nguoi:");
            
    int n=InputData.InputInt();
            
    name=new String[n];
            for(
    int i=0;i<name.length;i++){
                
    System.out.print("Nhap ten nguoi thu "+(i+1)+": ");
                
    name[i]=InputData.InputString().trim().toUpperCase();
            }
            
    System.out.println("Danh sach ten: ");
            for(
    int i=0;i<name.length;i++){
                
    System.out.println(+(i+1)+".    "+name[i]);
            }
            
    System.out.println("Ten nhung nguoi ho Nguyen: ");
            for(
    int i=0;i<name.length;i++){
                if(
    name[i].substring(0,6).equals("NGUYEN")){
                    
    System.out.println(name[i]);
                }
            }
        }
    }
    x_mars thích bài này.
  8. haizax

    haizax New Member

    Show Spoiler

    PHP:
    //Khai báo 1 mảng các chuỗi là tên học sinh. Tìm kiếm tất cả các học sinh họ "Nguyễn".
    //In kết quả ra màn hình
    package bai24;
     
     
    public class 
    Bai24 {
     
     
        public static 
    void main(String[] args) {
            
    String [] arr = {"Nguyen Thanh Hai","Nguyen Hoang Hiep","Tran Thanh Hai","Le Tien Hoc","Nguyen Trung Hieu"};
            
    int n=0;
            for(
    int i =0i<arr.lengthi++){
                if(
    arr[i].subSequence(06).equals("Nguyen")){
                    
    System.out.println("Ten Hoc Sinh ho Nguyen thu "+(n+1)+" la: ");
                    
    System.out.println(arr[i]);
                    
    n++;
                }
            }
        }
    }
  9. Show Spoiler

    Mã:
    public class BTBai24{
        public static void main(String[]args){
            String []a={"Nguyen Van H","Nguyen Tai A","Nguyen Thi H","Le Van Nguyen","Le Nguyen A"};
            String s="Nguyen";
            int i;
            // ho hoc sinh
                    System.out.println("DS Ho hoc sinh:");
                    int dem=0;
                    for(i=0;i<a.length;i++)
                    {
                        if(Ho(a[i]).equals("Nguyen"))
                        {
                            dem++;
                        }
                    }
                    System.out.println("DS co so hs ho Nguyen la: "+dem);   
        }
    public static String Ho(String s){
        String s1,s2=new String();
        s=s.trim();
        int i;
        for(i=0;i<s.length();i++)
        {
            s1=s.substring(i, i+1);
            if(s1.equals(" "))
            {
                break;
            }
            s2+=s1;
        }
       
        System.out.println(s2);
        return s2;
        }
    }
    
  10. bqthanh94_cntt

    bqthanh94_cntt alone 94

    các bạn cho mình hỏi là: nhập 1 chuỗi StringBuffer hoăc 1 chuỗi StringBuilder như thế nào?
  11. hanhnv87

    hanhnv87 New Member

    Đây là bài của mình, mình sử dụng phương thức contains là phương thức đầu tiên khi bấm Ctrl + Space: :D

    Show Spoiler

    PHP:
    package com.hanhnv.bai24;
     
    public class 
    Bai24 {
        public static 
    void main(String[] args) {
            
    String[] arr = { "Nguyễn Văn Hạnh""Nguyễn Thị Chiên",
                    
    "Nguyễn Thị Ngọc Khuyên""Phạm Hữu Khoa""Phùng Mạnh Linh",
                    
    "Phạm Thị Thanh Nga""Trần Mạnh Đức" };
     
            
    System.out.println("Những người có họ Nguyễn trong danh sách là: ");
            
    System.out.println(" ");
            for (
    int i 0arr.lengthi++) {
                if (
    arr[i].contains("Nguyễn")) {
                    
    System.out.println("+ " arr[i]);
                }
            }
     
        }
    }
  12. phamtuan6996

    phamtuan6996 New Member

    Các pro e hỏi tý, e có bài sau , bài này e in ra tên, nếu chỉ muốn in ra họ thì làm sao được ạ, mình thay bất kỳ họ nào thì nó cũng in ra họ đó. e mới học java, mọi người chỉ giùm với ạ, cảm ơn các pro trước.
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */

    package btchuoi1;

    /**
    *
    * @author Anh Tuan
    */
    public class Btchuoi1 {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    // TODO code application logic here
    String s=new String("Nguyen Van An");

    String s1=new String();
    s=s.trim();
    int k;
    for(k=(s.length())-1; k>=0; k--){
    s1=s.substring(k, k+1);
    if(s1.equals(""));
    break;
    }
    System.out.println(" Tên: " +s.substring(k-1));

    }
    }
  13. Tiasangmoi92

    Tiasangmoi92 Super Moderator


    Họ và tên thường cách nhau dấu cách: ví dụ: Nguyen Van A. Bạn dò tìm lấy vị trí dấu "cách" đầu tiên, sau đó cắt ra từ vị trí số 0 tới vị trí dấu cách đầu tiên đó là bạn lấy được họ của tên đầy đủ! :)
    phamtuan6996 thích bài này.
  14. thanhpl

    thanhpl New Member

    Show Spoiler

    PHP:
    public static void main(String [] args){
         
    String [] arrSinhVien = new String[100];
         
    int n;
         
    Scanner input = new Scanner(System.in);
         
    Scanner input2 = new Scanner(System.in);
         
    StringUnit s = new StringUnit();
         
    System.out.print("Nhap so luong sinh vien: ");
          
    input.nextInt();
          for (
    int i 0ni++) {
              
    System.out.print("Ten sinh vien thu " + (i+1) + ": ");
             
    arrSinhVien[i] = input2.nextLine().trim();
         }
         for (
    int i 0ni++) {
             if ( 
    s.Ho(arrSinhVien[i]).toUpperCase().equals("NGUYEN"))
             {
                
    System.out.println(arrSinhVien[i]);
         }
             
     }
     }
     
      public 
    String Ho(String ho){
         
    StringBuilder ten = new StringBuilder(ho);
         for (
    int i 0ho.length(); i++) {
             if ( 
    ho.substring(ii+1).equals(" "))
                 return 
    ho.substring(0i);
         }
         return 
    "";
       }
     }
  15. equizz

    equizz New Member

    Show Spoiler

    Mã:
        public static void main(String[] args){
            String [] str = {"Nguyen Van A", "Nguyen Van B", "Tran Van C", "Luong Van D", "Nguyen Van E"};
                for (int i = 0; i < str[i].length(); i++){
                if (str[i].substring(0, 6).equals("Nguyen")){
                    System.out.println(str[i] + " co ho Nguyen");
            }
            }
        }
       
        }
  16. hiepdv

    hiepdv New Member

    StringBuffer hỗ trợ synchronization chứ bạn, hình như bạn nói nhầm rồi tiasangmoi ak!
  17. hoccode

    hoccode New Member

    bài của mình
    Show Spoiler

    PHP:
    package Bai24String;
     
    public class 
    BaiTap {
     
        public static 
    void main(String[] args) {
            
    String HS[] = {"Nguyan Van Phong""Le Van Huu""Nguyen Van Tan""Nguyen van Su""Nguyen Van Chi"" Tong thi Phong"};
            
    System.out.println("Những học sinh họ Nguyễn: ");
            for (
    int i 0HS.lengthi++) {
                if(
    HS[i].substring(06).equalsIgnoreCase("nguyen")){
                    
    System.out.println((i+1)+". "+HS[i]);
                }
            }
        }
    }
  18. thanhdat86

    thanhdat86 New Member

    Bai Cua Minh (open)
    PHP:
    package hoc.java;
     
     
     
     
    import java.util.Scanner;
     
     
     
     
    public class 
    StringDemo {
    public static 
    void main(String[] args) {
    int soluong;
    Scanner in = new Scanner(System.in);
    System.out.println("Moi ban nhap so luong hoc sinh ");
    soluong in.nextInt();
    in.nextLine();
    HocSinh[] arrHocSinh = new HocSinh[soluong];
    try {
    for (
    int i 0arrHocSinh.lengthi++) {
    System.out.println("Nhap ho ten hoc sinh so " + (1) + ":");
    arrHocSinh[i] = new HocSinh();
    arrHocSinh[i].setHoVaTen(in.nextLine());
    }
    } catch (
    Exception e) {
    System.out.println("Loi: " e.toString());
    }
    for (
    int j 0arrHocSinh.lengthj++) {
    if (
    arrHocSinh[j].SoSanh()) {
    System.out.println("Ten Hoc Sinh: "
    arrHocSinh[j].getHoVaTen() + " co chu Nguyen");
    } else {
    System.out.println("Ten Hoc Sinh: "
    arrHocSinh[j].getHoVaTen() + " khong co chu Nguyen");
    }
    }
     
     
     
     
    }
    }
     
     
     
     
    class 
    HocSinh {
    private 
    String hoVaTen;
     
     
     
     
    public 
    String getHoVaTen() {
    return 
    hoVaTen;
    }
     
     
     
     
    public 
    void setHoVaTen(String hoVaTen) {
    this.hoVaTen hoVaTen;
    }
     
     
     
     
    public 
    boolean SoSanh() {
    boolean soSanh false;
    String[] arrSoSanh this.hoVaTen.trim().split(" ");
    for (
    int i 0arrSoSanh.lengthi++) {
    if (
    arrSoSanh[i].equals("Nguyen")) {
    soSanh true;
    }
    }
    if (
    soSanh) {
    return 
    true;
    } else {
    return 
    false;
    }
     
     
     
     
    }
     
     
     
     
    }
  19. zquangu112z

    zquangu112z Cuộc sống là không chờ đợi!

    PHP:
    package sTring;
     
    public class 
    Exercise {
    public static 
    void main(String[] args) {
    String school[]={"Truong Quang Ngu","Le Phuong Toan","Nguyen Huu Phuoc","Nguyen Duc le Huy"};
    int x=1;
    for(
    int i=0;i<4;i++){
    if(
    school[i].substring(0,6).equals("Nguyen")){
    System.out.println(x+"/  "+school[i]);
    x=x+1;
    }
    }
    }
     
    }
  20. hatb

    hatb Member

    Nhap danh sach sinh vien
    Nhap tng sinh vien
    Nhap ho cua sinh vien ban muon tim kiem
    BTVN_String (open)

    PHP:
    package baitapvenha;
    import java.util.Scanner;
    /**
    * Một bài nho nhỏ thôi, còn lại, chúng ta sẽ thực hành với String kèm theo ở
    * các bài tập các bài sau! Khai báo 1 mảng các chuỗi là tên học sinh. Tìm kiếm
    * tất cả các học sinh họ "Nguyễn". In kết quả ra màn hình.
    */
    public class Buoi24_String {
         public static 
    void main(String[] args) {
              
    String[] hocSinh;
              
    Scanner sc = new Scanner(System.in);
              
    System.out.print("Nhap so luong hoc sinh n = ");
              
    int n sc.nextInt();
              
    hocSinh = new String[n];
              
    sc.nextLine();
              for (
    int i 0ni++) {
                    
    System.out.print("Sinh vien thu " " : ");
                    
    hocSinh[i] = sc.nextLine();
              }
     
              
    Buoi24_String test = new Buoi24_String();
              
    System.out.println(test.search(nhocSinh));
         }
     
         public 
    String search(int nString a[]) {
              
    String s "";
              
    Scanner sc = new Scanner(System.in);
              
    System.out.print("Nhap ho can tim: ");
              
    String sea sc.nextLine();
              
    int dem 0;
              for (
    int i 0ni++) {
                   
    String b[] = a[i].split(" ");
                   if (
    b[0].equals(sea)) {
                          
    dem++;
                          
    += a[i] + "\n";
                   }
              }
              if (
    dem != 0) {
                    return 
    "Co " dem " Sinh vien ho la :" sea ":\n" s;
              } else
                    return 
    "Khong co sinh vien nao ho " sea;
              }
    }

Chia sẻ trang này