CodeGym /جاوا بلاگ /Random-SD /اسڪينر nextLine() جاوا ۾ طريقو
John Squirrels
سطح
San Francisco

اسڪينر nextLine() جاوا ۾ طريقو

گروپ ۾ شايع ٿيل
اسڪينر ، جاوا پروگرامنگ ٻوليءَ ۾ ھڪڙو طبقو آھي جيڪو ريگيولر ايڪسپريسز استعمال ڪندي ابتدائي قسمن ۽ تارن کي پارس ڪري سگھي ٿو. جاوا ۾ ايندڙ لائن () اسڪينر جو طريقو ھن اسڪينر کي موجوده لڪير کان ٻاھر منتقل ڪري ٿو ۽ ڇڏيل ان پٽ کي واپس ڪري ٿو. هن آرٽيڪل ۾ بعد ۾ ايندڙ لائن () ۽ اسڪينر تي وڌيڪ .

مختصر طور اسڪينر ڪلاس بابت ۽ اهو ڪيئن ڪم ڪري ٿو

عام طور تي ڳالهائڻ، java.util.Scanner ڪلاس توهان کي مختلف ذريعن کان ان پٽ پڙهڻ جي اجازت ڏئي ٿو، بشمول ڪنسول. اهو واقعي هڪ ڪلاسيڪل اسڪينر وانگر ڏسڻ ۾ اچي ٿو. هي هارڊويئر ڊيوائس پيچيده فن تعمير آهي، پر اهو ان جي ڪم کي بيان ڪرڻ بلڪل سادو آهي. اسڪينر هڪ تاريخ پڙهي ٿو جيڪو صارف ان تي رکي ٿو، جهڙوڪ ڪاغذ ۽ ڊيٽا کي ميموري ۾ رکي ٿو جهڙوڪ تصوير يا پي ڊي ايف فائل. جاوا اسڪينر، صرف هڪ حقيقي وانگر، انهي ذريعن مان ڊيٽا پڙهي ٿو جيڪو توهان ان لاءِ بيان ڪيو آهي. مثال طور، هڪ تار مان، هڪ فائيل مان، هڪ ڪنسول مان. پوءِ اھو ھن معلومات کي سڃاڻي ٿو ۽ ان کي ضرورت مطابق پروسيس ڪري ٿو. مثال طور، پروگرام ڪنسول مان ڪجھ ڊيٽا داخل ڪرڻ لاء پڇي ٿو ۽ ان کي پڙهي ٿو يا ان کي فائل مان پڙهڻ چاهي ٿو. هن آپريشن لاء، اسڪينر لفظ "اڳيون" سان گڏ ڪيترائي طريقا آهن. جهڙوڪ next() , nextLine() , nextInt() , nextDouble() .

nextLine() طريقو

جيئن اسان مٿي چيو آهي، اسڪينر جو اعتراض ان پٽ کي ٽوڪن ۾ ورهائي ٿو ڊيليميٽر نموني استعمال ڪندي، وائيٽ اسپيس ڊفالٽ طور، پر ان کي اسٽرنگ (java.lang.String) يا باقاعده اظهار ( java.util.regex) سان تبديل ڪري سگهجي ٿو. نموني ). نتيجو ڪندڙ ٽوڪن وري مختلف قسمن جي قيمتن ۾ تبديل ڪري سگھجن ٿا مختلف ايندڙ طريقن کي استعمال ڪندي. اسڪينر nextLine() جاوا ۾ طريقو هن اسڪينر کي موجوده لڪير کان اڳڀرو ڪري ٿو ۽ ان پٽ کي واپس ڪري ٿو جيڪو ڇڏيو ويو هو. General next() ڳولهي ٿو ۽ هن اسڪينر مان ايندڙ مڪمل ٽوڪن واپس ڪري ٿو. nextLine() طريقو ان پٽ کي لڪير ڌار ڪندڙ لاءِ ڳولهڻ جاري رکي ٿو، ان ڪري اهو بفر ڪري سگھي ٿو ته ان پٽ کي لڪائڻ لاءِ ڳولي رهيا آهن جيڪڏهن ڪو لڪير ڌار ڪندڙ نه آهن. اهو طريقو ايندڙ استثنا ڏئي ٿو:
  • NoSuchElementException: اڇلائي ٿو جيڪڏهن ڪا لڪير نه ملي
  • IllegalStateException: اڇلائي ٿو جيڪڏهن هي اسڪينر بند آهي

nextLine() مثال

اچو ته اسان چاهيون ٿا ته صارف ڪنسول ۾ ڪو به لفظ يا جملو داخل ڪري، ۽ اسان کيس ڏيکاري سگهون ٿا ته هن ڪهڙو لفظ يا جملو داخل ڪيو آهي.
import java.util.Scanner;
//…scanner.nextLine() example
public class ScannerTest {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       System.out.println("Enter any phrase and I'll repeat it!... ");
      //here we are reading the next line:
       String sentence = scan.nextLine();
       System.out.println(sentence);
   }
}
پيداوار ٿي سگهي ٿي مثال طور هيٺ ڏنل:
ڪو به جملو داخل ڪريو ۽ مان ان کي ورجائيندس!... هتي منهنجو جملو هتي منهنجو جملو آهي
جيڪڏھن توھان استعمال ڪريو next() طريقو nextLine() جي بدران ، توھان حاصل ڪندا توھان جي جملي جو صرف پھريون لفظ.
ڪو به جملو داخل ڪريو ۽ مان ان کي ورجائيندس!... هتي منهنجو جملو هتي آهي
اچو ته هڪ ڪم ڪندڙ اسڪينر جو مثال ڏيون ايندڙ لائن () طريقي سان فائل مان پڙهڻ لاءِ. ھن مثال لاءِ مون ٺاھيو آھي txt فائل myTest.txt. ان فائل ۾ ٻه سٽون آهن:
منهنجي ٽيسٽ فائل ۽ منهنجي ايندڙ لائن هتي آهي
هتي هڪ پروگرام آهي جيڪو هڪ فائل مان ٻه لائينون پڙهي ٿو.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerTest {

   public static void main(String[] args) throws FileNotFoundException {
       Scanner scanner = new Scanner(new File("d://myTest.txt"));

       String textFromFile1 = scanner.nextLine();
       String textFromFile2 = scanner.nextLine();
       System.out.println(textFromFile1);
       System.out.println(textFromFile2);
       scanner.close();

   }
}
پيداوار آهي:
منهنجي ٽيسٽ فائل ۽ منهنجي ايندڙ لائن هتي آهي
جيڪڏهن توهان جي فائل ڏانهن رستو غلط آهي يا اهڙي نالي سان فائل موجود ناهي، توهان کي ايندڙ پيداوار ملندي:
ٿريڊ ۾ استثنا "main" java.io.FileNotFoundException: d:\myTest.txt at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java) :213). ScannerTest.java:8)
جيڪڏهن پروگرام توهان جي فائل ملي، پر اها خالي آهي، توهان حاصل ڪندا NoSuchElementException:
سلسلي ۾ استثنا "main" java.util.NoSuchElementException: java.base/java.util.Scanner.nextLine(Scanner.java:1651) تي ScannerTest.main(ScannerTest.java:10) تي ڪابه لائين نه ملي.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION