JavaRush /Blog Jawa /Random-JV /Aliran I/O lan Senar ing Jawa
articles
tingkat

Aliran I/O lan Senar ing Jawa

Diterbitake ing grup
Kelas saka perpustakaan paket Java digunakake kanggo ngetik data Scanner. Aliran lan String I/O ing Jawa - 1Kelas iki kudu diimpor ing program sing bakal digunakake. Iki ditindakake sadurunge kelas umum diwiwiti ing kode program. Kelas kasebut nduweni cara kanggo maca karakter sabanjure saka jinis tartamtu saka aliran input standar, uga kanggo mriksa anane karakter kasebut. Kanggo nggarap stream input, sampeyan kudu nggawe obyek saka kelas Scanner , nemtokake nalika nggawe stream input sing bakal digandhengake. Aliran input standar (keyboard) ing Jawa diwakili dening obyek - System.in. Lan stream output standar (tampilan) obyek wis menowo kanggo sampeyan System.out. Ana uga stream standar kanggo output kesalahan - System.err, nanging nggarap iku ngluwihi orane katrangan saka mesthi kita.
import java.util.Scanner; // импортируем класс
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); // создаём an object класса Scanner
        int i = 2;
        System.out.print("Введите целое число: ");
        if(sc.hasNextInt()) { // возвращает истину если с потока ввода можно считать целое число
          i = sc.nextInt(); // считывает целое число с потока ввода и сохраняем в переменную
          System.out.println(i*2);
        } else {
          System.out.println("Вы ввели не целое число");
        }
    }
}
Cara hasNextDouble()sing ditrapake kanggo obyek kelas Scannermriksa manawa jumlah jinis nyata bisa diwaca saka aliran input double, lan metode nextDouble()kasebut maca. Yen sampeyan nyoba maca nilai tanpa mriksa dhisik, sampeyan bisa uga ngalami kesalahan sajrone eksekusi program (debugger ora bakal ndeteksi kesalahan kasebut sadurunge). Contone, coba ketik nomer nyata ing program ing ngisor iki:
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double  i = sc.nextDouble(); // если ввести букву s, то случится ошибка во время исполнения
        System.out.println(i/3);
    }
}
Ana uga cara nextLine()sing ngidini sampeyan maca kabeh urutan karakter, i.e. string, tegese nilai sing dipikolehi liwat metode iki kudu disimpen ing obyek kelas String. Ing conto ing ngisor iki, rong obyek kasebut digawe, banjur input pangguna ditulis siji-sijine, banjur siji senar ditampilake ing layar, dipikolehi kanthi nggabungake urutan karakter sing dilebokake.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s1, s2;
        s1 = sc.nextLine();
        s2 = sc.nextLine();
        System.out.println(s1 + s2);
    }
}
Ana uga cara hasNext()sing mriksa apa ana karakter sing isih ana ing aliran input. Kelas kasebut Stringnduweni akeh cara sing migunani sing bisa ditrapake kanggo senar (sadurunge jeneng metode, kita bakal nuduhake jinis nilai sing bakal dibalekake):
  1. int length()- ngasilake dawa senar (jumlah karakter ing);
  2. boolean isEmpty()- mriksa yen senar kosong;
  3. String replace(a, b)- ngasilake senar ing ngendi karakter a (harfiah utawa variabel saka jinis char) diganti dening karakter b;
  4. String toLowerCase()- ngasilake senar ing ngendi kabeh karakter ing senar asli diowahi dadi huruf cilik;
  5. String toUpperCase()- ngasilake senar ing ngendi kabeh karakter ing senar asli diowahi dadi huruf gedhe;
  6. boolean equals(s)- ngasilake bener yen senar sing cara diterapake cocog karo senar sing ditemtokake ing argumen metode (sampeyan ora bisa mbandhingake nggunakake ==operator senar, kaya obyek liyane);
  7. int indexOf(ch)- ngasilake indeks karakter ch ing senar (indeks minangka nomer ordinal karakter, nanging karakter diwilang wiwit saka nol). Yen karakter ora ditemokake ing kabeh, bakal bali -1. Yen karakter katon luwih saka sapisan ing senar, bakal ngasilake indeks kedadeyan pisanan.
  8. int lastIndexOf(ch)- padha karo cara sadurunge, nanging ngasilake indeks saka kedadeyan pungkasan yen simbol katon kaping pirang-pirang ing baris.
  9. int indexOf(ch,n)- ngasilake indeks karakter ch ing senar, nanging wiwit mriksa saka indeks n (indeks iku nomer ordinal karakter, nanging karakter sing nomer wiwit saka nul).
  10. char charAt(n)- ngasilake kode karakter sing ana ing baris ing indeks n (indeks iku nomer serial karakter, nanging karakter sing nomer wiwit saka nul).
public class Main {
    public static void main(String[] args) {
        String s1 = "firefox";
        System.out.println(s1.toUpperCase()); // выведет «FIREFOX»
        String s2 = s1.replace('o', 'a');
        System.out.println(s2); // выведет «firefax»
        System.out.println(s2.charAt(1)); // выведет «i»
        int i;
        i = s1.length();
        System.out.println(i); // выведет 7
        i = s1.indexOf('f');
        System.out.println(i); // выведет 0
        i = s1.indexOf('r');
        System.out.println(i); // выведет 2
        i = s1.lastIndexOf('f');
        System.out.println(i); // выведет 4
        i = s1.indexOf('t');
        System.out.println(i); // выведет -1
        i = s1.indexOf('r',3);
        System.out.println(i); // выведет -1
    }
}
Conto program sing bakal nampilake indeks kabeh spasi ing baris sing dilebokake pangguna saka keyboard:
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        for(int i=0; i < s.length(); i++) {
            if(s.charAt(i) == ' ') {
                System.out.println(i);
            }
        }
    }
}
Link menyang sumber: I / O streams lan strings ing Jawa
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION