JavaRush /Java Blog /Random-TL /Mga I/O Stream at Strings sa Java
articles
Antas

Mga I/O Stream at Strings sa Java

Nai-publish sa grupo
Ang isang klase mula sa Java package library ay ginagamit upang magpasok ng data Scanner. Mga I/O Stream at Strings sa Java - 1Dapat na ma-import ang klase na ito sa programa kung saan ito gagamitin. Ginagawa ito bago magsimula ang pampublikong klase sa code ng programa. Ang klase ay may mga pamamaraan para sa pagbabasa ng susunod na karakter ng isang naibigay na uri mula sa karaniwang input stream, pati na rin para sa pagsuri sa pagkakaroon ng naturang karakter. Upang gumana sa isang input stream, kailangan mong lumikha ng isang object ng Scanner class , na tumutukoy sa panahon ng paggawa kung aling input stream ito iuugnay. Ang karaniwang input stream (keyboard) sa Java ay kinakatawan ng isang bagay - System.in. At ang karaniwang output stream (display) ay isang bagay na pamilyar sa iyo System.out. Mayroon ding karaniwang stream para sa error na output - System.err, ngunit ang pagtatrabaho dito ay lampas sa saklaw ng aming kurso.
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("Вы ввели не целое число");
        }
    }
}
Ang pamamaraang hasNextDouble()inilapat sa isang bagay ng klase Scanneray nagsusuri kung ang isang tunay na bilang ng uri ay mababasa mula sa input stream double, at nextDouble()binabasa ito ng pamamaraan. Kung susubukan mong basahin ang isang halaga nang hindi muna ito sinusuri, maaari kang makakuha ng isang error sa panahon ng pagpapatupad ng programa (ang debugger ay hindi makakakita ng ganoong error nang maaga). Halimbawa, subukang maglagay ng totoong numero sa programa sa ibaba:
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);
    }
}
Mayroon ding isang paraan nextLine()na nagbibigay-daan sa iyo na basahin ang isang buong pagkakasunud-sunod ng mga character, i.e. string, na nangangahulugan na ang halaga na nakuha sa pamamagitan ng pamamaraang ito ay dapat na naka-imbak sa isang object ng klase String. Sa sumusunod na halimbawa, dalawang ganoong bagay ang nilikha, pagkatapos ay isusulat ang input ng user sa kanila nang isa-isa, at pagkatapos ay ipinapakita ang isang string sa screen, na nakuha sa pamamagitan ng pagsasama-sama ng mga ipinasok na pagkakasunud-sunod ng mga character.
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);
    }
}
Mayroon ding paraan hasNext()na nagsusuri kung mayroong anumang mga character na natitira sa input stream. Ang klase Stringay may maraming mga kapaki-pakinabang na pamamaraan na maaaring ilapat sa mga string (bago ang pangalan ng pamamaraan ay ipahiwatig namin ang uri ng halaga na ibinabalik nito):
  1. int length()— ibinabalik ang haba ng string (ang bilang ng mga character sa loob nito);
  2. boolean isEmpty()— sinusuri kung walang laman ang string;
  3. String replace(a, b)— nagbabalik ng string kung saan ang character a (literal o variable ng uri ng char) ay pinapalitan ng character na b;
  4. String toLowerCase()— nagbabalik ng string kung saan ang lahat ng mga character sa orihinal na string ay na-convert sa lowercase;
  5. String toUpperCase()— nagbabalik ng string kung saan ang lahat ng mga character sa orihinal na string ay na-convert sa uppercase;
  6. boolean equals(s)— nagbabalik ng totoo kung ang string kung saan inilapat ang pamamaraan ay tumutugma sa mga string na tinukoy sa argumento ng pamamaraan (hindi mo maaaring ihambing ang paggamit ng ==string operator, tulad ng anumang iba pang mga bagay);
  7. int indexOf(ch)— ibinabalik ang index ng character na ch sa isang string (ang index ay ang ordinal na numero ng character, ngunit ang mga character ay binibilang simula sa zero). Kung ang karakter ay hindi matagpuan, babalik ito -1. Kung lumilitaw ang isang character nang higit sa isang beses sa isang string, ibabalik nito ang index ng unang paglitaw nito.
  8. int lastIndexOf(ch)- katulad ng nakaraang pamamaraan, ngunit ibinabalik ang index ng huling pangyayari kung ang simbolo ay lilitaw nang maraming beses sa linya.
  9. int indexOf(ch,n)— ibinabalik ang index ng character na ch sa string, ngunit nagsisimulang suriin mula sa index n (ang index ay ang ordinal na numero ng karakter, ngunit ang mga character ay binibilang simula sa zero).
  10. char charAt(n)— ibinabalik ang code ng character na matatagpuan sa linya sa ilalim ng index n (ang index ay ang serial number ng character, ngunit ang mga character ay binibilang simula sa zero).
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
    }
}
Isang halimbawa ng isang programa na magpapakita ng mga index ng lahat ng mga puwang sa isang linyang ipinasok ng user mula sa 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 sa pinagmulan: I/O stream at string sa Java
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION