Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String>



Benzer belgeler
BufferedReader. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable. Altsınıfları: LineNumberReader. Bildirimi: public class BufferedReader

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

ByteArrayOutputStream

// hataları işaret eden referans

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

JAVA DA İSTİSNALAR VE DOSYA İŞLEMLERİ. Yrd. Doç.Dr. İlhan AYDIN

Class PriorityQueue. Class PriorityQueue<E> java.lang.object java.util.abstractcollection<e> java.util.abstractqueue<e> java.util.

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form

Class HashMap. Class HashMap java.lang.object java.util.abstractmap java.util.hashmap. Kılgıladığı Arayüzler: Cloneable, Map, Serializable

Kılgıladığı arayüzler: Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur.

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form

Bir c sınıfının doğal sıralaması ile tutarlı olması (be consistent with equals) demek, c sınıfı içindeki her e1 ve e2 nesnesi için

InputStream Sınıfı. Class InputStream. java.io. java.lang.object java.io.inputstream. Kılgıladığı Arayüzleri: Closeable, AutoCloseable

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

Java: printf() Metodu İle Çıktıyı Biçemleme

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Java da İşleçler, Ders #3 (4 Kasım 2009)

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

BİL-141 Bilgisayar Programlama I (Java)

BM-209 Nesne Yönelimli Programlama

Klavyeden Basit Giriş/Çıkış İşlemleri

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 11

Karşılaştırma İşlemleri ve Koşullu İfadeler

JAVA ile DAĞITIK PROGRAMLAMA

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.


BİL-141 Bilgisayar Programlama I (Java)

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

Programlama Dillerinde Kullanılan Veri Tipleri

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1

EMT2226 Nesne Yönelimli Programlamaya Giriş

BİL132 Bilgisayar Programlama II

Class HashSet. Metotlar. Class HashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

M.ilkucar MAKU MYO 1

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Ders - 7 while döngüsü

1 - Button Kontrolu Nasıl Yapılır?

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Temel Veri Türü İşlemleri

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

HSancak Nesne Tabanlı Programlama I Ders Notları

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

CSSigner, Cybersoft firması tarafından geliştirilmiş açık kaynak kodlu e-imza yazılım kütüphanesidir.

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Java: Sayıları Biçemli Yazma

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

3.Hafta. . Kontrol Deyimleri/İfadeler

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Sınıfların Tekrardan Kullanılması. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 5 1

Bölüm 21 Çıktıyı Biçemleme

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

Progress Barlı, FTP Dosya Upload Appleti

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

JAVADA DİZİ İŞLEMLERİ

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

MAT213 Bilgisayar Programlama I

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Java Class Yapısında Finalize Metotunun Kullanımı

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4. Yrd.Doç.Dr.Hacer Karacan

Dizi ( Array ) ve Dizgi ( String )

Yukardaki örneğe dayanarak, aşağıdakiler tanımlar Object Oriented açısından doğrudur:

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Örnek 1: Programı yazın ve çalıştırın.

Bölüm 08 Program Akışının Yönlendirilmesi

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

Nesne Yönelimli Programlama

Class LinkedHashSet. Class LinkedHashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset java.util.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

D İ Z İ L E R A R R A Y S

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

BİL-141 Bilgisayar Programlama I (Java)

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

Transkript:

Sınıfı java.util Class java.lang.object java.util. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String> Bildirimi: public final class extends Object implements Iterator<String>, Closeable Düzgün ifadeler kullanarak, kaynaktaki ilkel verileri ve metinleri ayıran bir metin (text) giriş aracıdır. Bir scanner nesnesi giren veriyi parçalarına (token) ayırır. Bu ayırma işleminde parça ayracı öntanımlı olarak beyaz alanlardır ( boşluk, tab, yeni satır new line). Ancak, istenirse parça ayracı farklı tanımlanabilir. nesnesi ayırdığı parçaları ait olduğu veri tipine dönüştürür; bunu yapan farklı next metotları vardır. Örnekler: Aşağıdaki kodlar, klavyeden (System.in) girilen tamsayıları okur: sc = new (System.in); int i = sc.nextint(); Aşağıdaki kodlar, sayılar adlı text dosyasından okuduğu sayıyı long tipine dönüştürür. sc = new (new File("sayılar")); while (sc.hasnextlong()) { long along = sc.nextlong(); Yerel sayı biçemleri 1

normal olarak işletim sisteminin kullandığı dile uyan sayı biçemini kullanır. Ama istenirse, bu biçem değiştirilebilir, yarine başka bir biçem konulabilir. Örneğin, bazı ülkelerde kesir ayracı nokta (.) iken, bazı ülkelerde ise kesir ayracı olarak virgül (,) kullanılır. Benzer olarak binlikler ayracı, pozitif/negatif sayıyı öntakı ya da sontakı ile belirleme, okunan verinin sayı olup olmadığını belirleme gibi eylemler yapılabilir. Sınıfının Kurucuları: (File source) Taranan dosyadan veri okumak için bir nesnesi yaratır. (File source, String charsetname) charset i belirtilmiş olarak, taranan dosyadan veri okumak için bir nesnesi yaratır. (InputStream source) Taranan giriş akımından veri okumak için bir nesnesi yaratır. (InputStream source, String charsetname) charset i belirtilmiş olarak, taranan giriş akımından veri okumak için bir nesnesi yaratır. (Path source) Yolu belirtilen dosyayı tarayarak veri okumak için bir nesnesi yaratır. (Path source, String charsetname) Yolu ve charset i belirtilen dosyayı tarayarak veri okumak için bir nesnesi yaratır. (Readable source) Belirtilen kaynağı tarayarak veri okumak için bir nesnesi yaratır. (ReadableByteChannel source) Belirtilen kanalı tarayarak veri okumak için bir nesnesi yaratır. (ReadableByteChannel source, String charsetname) Belirtilen kanalı tarayarak, belirtilen charset tipinden veri okumak için bir nesnesi yaratır. (String source) Belirtilen String nesnesini tarayarak veri okumak için bir nesnesi yaratır. Sınıfının Metotları: void close() Closes this scanner. 2

Pattern delimiter() Returns the Pattern this is currently using to match delimiters. String findinline(pattern pattern) Attempts to find the next occurrence of the specified pattern ignoring delimiters. String findinline(string pattern) Attempts to find the next occurrence of a pattern constructed from the specified string, ignoring delimiters. String findwithinhorizon(pattern pattern, int horizon) Attempts to find the next occurrence of the specified pattern. String findwithinhorizon(string pattern, int horizon) Attempts to find the next occurrence of a pattern constructed from the specified string, ignoring delimiters. hasnext() Returns true if this scanner has another token in its input. hasnext(pattern pattern) Returns true if the next complete token matches the specified pattern. hasnext(string pattern) Returns true if the next token matches the pattern constructed from the specified string. hasnextbigdecimal() BigDecimal using the nextbigdecimal() method. hasnextbiginteger() BigInteger in the default radix using the nextbiginteger() method. hasnextbiginteger(int radix) BigInteger in the specified radix using the nextbiginteger() method. hasnextboolean() value using a case insensitive pattern created from the string "true false". hasnextbyte() 3

byte value in the default radix using the nextbyte() method. hasnextbyte(int radix) byte value in the specified radix using the nextbyte() method. hasnextdouble() double value using the nextdouble() method. hasnextfloat() float value using the nextfloat() method. hasnextint() n int value in the default radix using the nextint() method. hasnextint(int radix) n int value in the specified radix using the nextint() method. hasnextline() Returns true if there is another line in the input of this scanner. hasnextlong() long value in the default radix using the nextlong() method. hasnextlong(int radix) long value in the specified radix using the nextlong() method. hasnextshort() short value in the default radix using the nextshort() method. hasnextshort(int radix) short value in the specified radix using the nextshort() method. IOException ioexception() Locale locale() Returns the IOException last thrown by this 's underlying Readable. 4

MatchResult match() String next() Returns this scanner's locale. Returns the match result of the last scanning operation performed by this scanner. Finds and returns the next complete token from this scanner. String next(pattern pattern) Returns the next token if it matches the specified pattern. String next(string pattern) Returns the next token if it matches the pattern constructed from the specified string. BigDecimal BigInteger BigInteger nextbigdecimal() Scans the next token of the input as a BigDecimal. nextbiginteger() Scans the next token of the input as a BigInteger. nextbiginteger(int radix) Scans the next token of the input as a BigInteger. nextboolean() Scans the next token of the input into a value and returns that value. byte nextbyte() Scans the next token of the input as a byte. byte nextbyte(int radix) Scans the next token of the input as a byte. double nextdouble() Scans the next token of the input as a double. float nextfloat() Scans the next token of the input as a float. int int nextint() Scans the next token of the input as an int. nextint(int radix) Scans the next token of the input as an int. String nextline() 5

long nextlong() Advances this scanner past the current line and returns the input that was skipped. Scans the next token of the input as a long. long nextlong(int radix) short nextshort() Scans the next token of the input as a long. Scans the next token of the input as a short. short nextshort(int radix) Scans the next token of the input as a short. int radix() Returns this scanner's default radix. void remove() The remove operation is not supported by this implementation of Iterator. reset() Resets this scanner. skip(pattern pattern) Skips input that matches the specified pattern, ignoring delimiters. skip(string pattern) Skips input that matches a pattern constructed from the specified string. String tostring() Returns the string representation of this. usedelimiter(pattern pattern) Sets this scanner's delimiting pattern to the specified pattern. usedelimiter(string pattern) Sets this scanner's delimiting pattern to a pattern constructed from the specified String. uselocale(locale locale) Sets this scanner's locale to the specified locale. useradix(int radix) Sets this scanner's default radix to the specified radix. 6

java.lang.object sınıfından kalıtsal gelen metotlar Örnek: clone, equals, finalize, getclass, hashcode, notify, notifyall, wait, wait, wait Aşağıdaki program klavyeden girilen bir satırlık metni (text) okur ve ekrana yazar. Bunun için (InputStream source) kurucusunu kullanıyor. InputStream tipinden olan source olarak System.in değişkeni kullanılıyor. Bu değişken standart giriş akımıdır (klavye). import java.util.; scan = new (System.in); System.out.println("Lütfen bir metin giriniz : "); String str = scan.nextline(); System.out.println(str); /** Lütfen bir metin giriniz : abc 123 def 456 ghi 78.9 jkl abc 123 def 456 ghi 78.9 jkl */ Örnek: Aşağıdaki program klavyeden girilen bir satırlık metni (text) okur; beyaz alanları atlayarak ekrana yazar. import java.util.; scan = new (System.in); System.out.println("Lütfen bir metin giriniz : "); while (scan.hasnext()) { String str = scan.next(); System.out.print(str); 7

/** Lütfen bir metin giriniz : abc 123 def 456 ghi 78.9 jkl abc123def456ghi78.9jkl */ Örnek: Aşağıdaki program klavyeden girilen sayıları toplayıp ekrana yazar. import java.util.; scan = new (System.in); System.out.println("Lütfen ilk tamsayıyı giriniz : "); int n = scan.nextint(); System.out.println("Lütfen ikinci tamsayıyı giriniz : "); int m = scan.nextint(); System.out.print(n + m); /** Lütfen ilk tamsayıyı giriniz : 123 Lütfen ikinci tamsayıyı giriniz : 456 579 */ import java.util.*; // Sayı girdilerini okuyan örneği public static void main(string arg[]) { // Klavyeden okumak için bir nesnesi yarat scanner = new (System.in); try { 8

5603); 6,57); "\n"); ", 8,3456e12); System.out.printf("int giriniz (örneğin %4d): ", int int_val = scanner.nextint(); System.out.println(" Girilen : " + int_val + "\n"); System.out.printf("float gir : (örneğin, %5.2f): ", float float_val = scanner.nextfloat(); System.out.println(" Girilen : " + float_val + System.out.printf("double giriniz (örneğin, %6.3e): double double_val = scanner.nextdouble(); System.out.println("Girilen " + double_val + "\n"); catch (InputMismatchException e) { System.out.println("Uyumsuz:" + e); Örnek: Aşağıdaki program bir text dostasını okur ve ekrana yazar. Text dosyası main(string[] args) metodunun birinci parametresi olarak verilebilir. Bunu yapmak için, önce Javac DosyaOku.java deyimi ile DosyaOku.class bytecode unu yaratınız. Sonra Java DosyaOku örnektext deyimini yazınız. Dosyanın okunup ekrana yazıldığını göreceksiniz. Tabii, okunacak örnektext dosyası ile DosyaOku.class bytecode dosyası aynı dizin içinde olmalıdır. import java.io.file; import java.io.filenotfoundexception; import java.util.; private static void readfile(string filename) { try { File file = new File(fileName); scanner = new (file); while (scanner.hasnext()) { System.out.println(scanner.next()); 9

scanner.close(); catch (FileNotFoundException e) { e.printstacktrace(); /** if (args.length!= 1) { System.err.println("Çalıştırma: java Text " + "okunacak dosya"); System.exit(0); readfile(args[0]); */ Örnek: Aşağıdaki program bir text dosyasından okuduğu double sayıları toplayıp ekrana yazıyor. sayılar.txt dosyasını yazınız. Sonra Program 1 derlenince ortaya çıkan ScanTopla.class bytecode dosyası ile aynı dizine koyunuz. Sayılar.txt: 9.4 32767 3.14159 3000000.15 package Javaio; import java.io.filereader; import java.io.bufferedreader; import java.io.ioexception; import java.util.; import java.util.locale; public class ScanTopla { public static void main(string[] args) throws IOException { 10

s = null; double sum = 0; try { s = new ( new BufferedReader(new FileReader("doubleOku.txt"))); //s.uselocale(locale.tr); while (s.hasnext()) { if (s.hasnextdouble()) { sum += s.nextdouble(); else { s.next(); finally { s.close(); /** */ System.out.println(sum); 32767.0 package Javaio; import java.util.; String ad; int yaş; in = new (System.in); System.out.println("Adınız : "); ad = in.nextline(); System.out.println("Yaşınız : "); yaş = in.nextint(); in.close(); /** System.out.println("Adınız :" + ad); System.out.println("Yaşınız :" + yaş); 11

Adınız : Demet Ceylan Yaşınız : 21 Adınız :Demet Ceylan Yaşınız :21 */ Java Network örneği import java.net.*; import java.io.ioexception; import javax.swing.*; import java.awt.*; import java.awt.event.*; InetAddress ia = null; String host = null; try { host = JOptionPane.showInputDialog("Taranacak dosya:\n örnek: xxx.txt"); if (host!= null) { ia = InetAddress.getByName(host); scan(ia); catch (UnknownHostException e) { System.err.println(e); System.out.println("Okunan:"); public static void scan(final InetAddress remote) { // menu bar değişkeni int port = 0; String hostname = remote.gethostname(); for (port = 0; port < 65536; port++) { try { Socket s = new Socket(remote, port); System.out.println("Sunucu " + port + " port'u okuyor "); 12

port'u okumuyor "); s.close(); catch (IOException ex) { System.out.println("Sunucu " + port + " import java.util.*; class Menu { public void display_menu() { System.out.println("1) Seçki 1\n2) Seçki 2\n3) Seçki 3"); System.out.print("Seçiniz: "); public Menu() { in = new (System.in); display_menu(); switch (in.nextint()) { case 1: System.out.println("Seçiminiz : Seçki 1"); break; case 2: System.out.println("Seçiminiz : Seçki 2"); break; case 3: System.out.println("Seçiminiz : Seçki 3"); break; default: System.err.println("Uygunsuz Seçki"); break; new Menu(); 13