JavaRush /Блоги Java /Random-TG /Ҷараёнҳои I/O ва сатрҳо дар Java
articles
Сатҳи

Ҷараёнҳои I/O ва сатрҳо дар Java

Дар гурӯҳ нашр шудааст
Синф аз китобхонаи бастаи Java барои ворид кардани маълумот истифода мешавад Scanner. Ҷараёнҳои I/O ва сатрҳо дар Java - 1Ин синф бояд дар барномае, ки он истифода мешавад, ворид карда шавад. Ин пеш аз оғози синфи ҷамъиятӣ дар codeи барнома анҷом дода мешавад. Дар синф усулҳои хондани аломати навбатии навъи додашуда аз ҷараёни вуруди стандартӣ, инчунин барои тафтиши мавҷудияти чунин аломат мавҷуд аст. Барои кор бо ҷараёни вуруд, шумо бояд an objectи синфи Scanner -ро эҷод кунед , ки ҳангоми офариниш бо кадом ҷараёни вуруд алоқаманд буданашро муайян кунед. Ҷараёни стандартии вуруд (клавиатура) дар Java бо an objectи - System.in. Ва ҷараёни стандартии баромад (намоиш) an objectест, ки аллакай ба шумо шинос аст System.out. Инчунин як ҷараёни стандартӣ барои баромади хато вуҷуд дорад - System.err, аммо кор бо он аз доираи курси мо берун аст.
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("Вы ввели не целое число");
        }
    }
}
Усуле hasNextDouble(), ки ба an objectи синф истифода мешавад, Scannerмесанҷад, ки оё шумораи воқеии намудҳоро аз ҷараёни вуруд хондан мумкин аст doubleва метод nextDouble()онро мехонад. Агар шумо кӯшиш кунед, ки арзишро бидуни тафтиши аввал хонед, шумо метавонед ҳангоми иҷрои барнома хатогӣ пайдо кунед (debuger ин гуна хаторо пешакӣ муайян намекунад). Масалан, кӯшиш кунед, ки рақами воқеиро дар барномаи зер ворид кунед:
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);
    }
}
Инчунин усуле мавҷуд аст nextLine(), ки ба шумо имкон медиҳад, ки пайдарпаии тамоми аломатҳоро хонед, яъне. сатр, ки маънои онро дорад, ки арзиши тавассути ин усул гирифташуда бояд дар an objectи синф нигоҳ дошта шавад String. Дар мисоли зерин ду чунин an object сохта шуда, баъд ба онҳо воридоти корбар як ба як навишта мешавад ва баъд як сатр дар экран намоиш дода мешавад, ки бо якҷоя кардани пайдарпайии аломатҳои воридшуда ба даст омадааст.
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);
    }
}
Инчунин усуле мавҷуд аст hasNext(), ки тафтиш мекунад, ки оё дар ҷараёни вуруд ягон аломат боқӣ мондааст ё не. Синф Stringбисёр усулҳои муфид дорад, ки онҳоро ба сатрҳо татбиқ кардан мумкин аст (пеш аз номи метод мо навъи арзишеро, ки онро бармегардонад, нишон медиҳем):
  1. int length()— дарозии сатрро бармегардонад (шумораи аломатҳои он);
  2. boolean isEmpty()— холй будани сатрро тафтиш мекунад;
  3. String replace(a, b)— сатрро бар мегардонад, ки дар он аломати a (ҳақиқӣ ё тағирёбандаи навъи char) бо аломати b иваз карда мешавад;
  4. String toLowerCase()— сатрро бармегардонад, ки дар он тамоми аломатҳои сатри аслӣ ба ҳарфҳои хурд табдил дода мешаванд;
  5. String toUpperCase()— сатрро бармегардонад, ки дар он тамоми аломатҳои сатри аслӣ ба ҳарфи калон табдил дода мешаванд;
  6. boolean equals(s)— ҳақиқӣ бар мегардонад, агар сатри s дар аргументи метод нишон додашуда мувофиқат кунад (шумо бо истифода аз ==оператори сатр, мисли ҳама an objectҳои дигар муқоиса карда наметавонед);
  7. int indexOf(ch)— индекси аломати ch-ро дар сатр бармегардонад (индекс рақами тартибии аломат аст, аммо аломатҳо аз сифр сар карда рақамгузорӣ карда мешаванд). Агар аломат тамоман ёфт нашавад, он -1 бармегардад. Агар аломат дар сатр зиёда аз як маротиба пайдо шавад, он индекси пайдоиши аввалини худро бармегардонад.
  8. int lastIndexOf(ch)- ба усули қаблӣ монанд аст, аммо индекси ҳодисаи охиринро бармегардонад, агар аломат дар сатр якчанд маротиба пайдо шавад.
  9. int indexOf(ch,n)— индекси аломати ch-ро дар сатр бармегардонад, вале тафтишро аз индекси n оғоз мекунад (индекс рақами тартибии аломат аст, аммо аломатҳо аз сифр сар карда рақамгузорӣ карда мешаванд).
  10. char charAt(n)— рамзи аломати дар сатри зери индекси n ҷойгиршударо бармегардонад (индекс рақами силсилавии аломат мебошад, аммо аломатҳо аз сифр сар карда рақамгузорӣ карда мешаванд).
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
    }
}
Намунаи барномае, ки индексҳои ҳамаи ҷойҳоро дар сатри аз ҷониби корбар аз клавиатура воридшуда намоиш медиҳад:
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);
            }
        }
    }
}
Пайванд ба манбаъ: ҷараёнҳои I/O ва сатрҳо дар Java
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION