JavaRush /Java блогы /Random-KK /Java тіліндегі енгізу/шығару ағындары және жолдар
articles
Деңгей

Java тіліндегі енгізу/шығару ағындары және жолдар

Топта жарияланған
Деректерді енгізу үшін Java пакетінің кітапханасының класы пайдаланылады Scanner. Java тіліндегі енгізу/шығару ағындары мен жолдары – 1Бұл класс ол қолданылатын бағдарламаға импортталуы керек. Бұл бағдарлама codeында жалпы сынып басталмай тұрып орындалады. Сыныпта стандартты енгізу ағынынан берілген типтің келесі символын оқуға, сондай-ақ мұндай символдың бар-жоғын тексеруге арналған әдістер бар. Енгізу ағынымен жұмыс істеу үшін жасау кезінде қандай кіріс ағынымен байланыстыратынын көрсете отырып, Сканер сыныбының нысанын жасау керек . Java тіліндегі стандартты енгізу ағыны (пернетақта) - нысанымен ұсынылған System.in. Ал стандартты шығыс ағыны (дисплей) сізге бұрыннан таныс нысан болып табылады 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()оны оқиды. Мәнді алдымен тексермей оқуға әрекеттенсеңіз, бағдарламаны орындау кезінде қате пайда болуы мүмкін (отладчик мұндай қатені алдын ала анықтамайды). Мысалы, төмендегі бағдарламаға нақты санды енгізіп көріңіз:
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()Сондай-ақ таңбалардың бүкіл тізбегін оқуға мүмкіндік беретін әдіс бар , яғни. string, яғни осы әдіс арқылы алынған мән сынып нысанында сақталуы керек 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 жолына сәйкес келсе, true мәнін қайтарады ( ==кез келген басқа нысандар сияқты жол операторының көмегімен салыстыруға болмайды);
  7. int indexOf(ch)— жолдағы ch символының индексін қайтарады (индекс символдың реттік нөмірі, бірақ символдар нөлден бастап нөмірленеді). Егер таңба мүлде табылмаса, ол -1 қайтарады. Егер таңба жолда бірнеше рет пайда болса, ол өзінің бірінші пайда болу индексін қайтарады.
  8. int lastIndexOf(ch)- алдыңғы әдіске ұқсас, бірақ символ жолда бірнеше рет пайда болса, соңғы пайда болу индексін қайтарады.
  9. int indexOf(ch,n)— жолдағы ch символының индексін қайтарады, бірақ n индексінен тексеруді бастайды (индекс символдың реттік нөмірі, бірақ символдар нөлден бастап нөмірленеді).
  10. char charAt(n)— n индексінің астындағы жолда орналасқан таңбаның codeын қайтарады (индекс символдың реттік нөмірі, бірақ символдар нөлден бастап нөмірленеді).
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);
            }
        }
    }
}
Дереккөзге сілтеме: Java тіліндегі енгізу/шығару ағындары мен жолдары
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION