# فناوری جاوا > برنامه‌نویسی جاوا >  گرفتن ورودی در Java

## mjafari

ممکن است یک نفر بگوید چگونه می توان در java  یک متغیر را از کیبرد و صفحه سیاه کنسول خواند. منظورم چیزی شبیه  read ( )  است به همان روشنی Pascal  یا C .
من در مستندات Java SE کلی کلاس IOStream و Reader  و غیره دیدم و حتی سعی کردم خودم چیزی مثل همان  read بنویسم ولی عملکردش قابل فهم نبود.

----------


## mjafari

البته لطفا ارگومان هایی را که در موقع اجرای برنامه در خط فرمان نی نویسیم را پیشنهاد ندهید.

----------


## zehs_sha

System.out.read

----------


## 3tareh

از
String s = JOptionPane.showInputDialog(null, Object message);هم میشه استفاده کرد که با نشان دادن یک message توی یک فریم، داده رو از کاربر می گیره و به صورت یک string ذخیره می کند.
توی پکیج javax.swing است.

----------


## ناصرقلی

چیزی مانند read  در پاسکال که در جاوا نیست یعنی تنها می توانید ورودی رشته ای بگیرید و خودتان تبدیل کنید ولی با روش زیر می توانید چیزی مثل readLine داشته باشید یعنی ورودی خط بخ خط دریافت کنید:

			BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
			bf.readLine();

----------


## magicsara

دستور read تو کدوم package؟ (مگه توی java.io نیست؟ پس چرا واسه من خطا می ده؟)

----------


## pooyanm

> دستور read تو کدوم package؟ (مگه توی java.io نیست؟ پس چرا واسه من خطا می ده؟)


چه خطایی؟ دستورات پست شماره 5 در بالا به نظر من بدون مشکل باید کار کنه.

----------


## sarasara

tفکر کنم باید از System.in.read() استفاده کنی، البته مطمئن نیستم!

----------


## magicsara

من می خوام یه برنامه بنویسم که یه سری رشته و عدد (مثلا نام؛فامیلی، سن، سال تولد) و غیره رو بخونه، من توی برنامه ام از تگهای html استفاده نمی کنم می خوام این ورودیها رو توی Command Prompt بگیره اما حسابی گیج شدم چیکار کنم!

----------


## sarasara

ببین این جواب میده:
 


> String string = "";
>   InputStreamReader input = new InputStreamReader(System.in);
>   BufferedReader reader = new BufferedReader(input); 
> string = reader.readLine();

----------


## Mamdos

سلام

مشکلی که هست این است که کتابخانه‌ی ورودی/خروجی جاوا پیچیده است و بنابراین کسانی که جاوا را شروع می‌کنند برای خواندن ساده‌ی ورودی از پیشانه (console) دردسر دارند. در جاوای 1.5 یک کلاس به اسم Scanner معرفی شد که تا حدی ورودی/خروجی را ساده می‌کند. مثلا:
     Scanner sc = new Scanner(System.in);
     int i = sc.nextInt();
خط اول فقط یک بار باید نوشته شود، و پس از آن با فراخوانی متدهایی مثل nextInt، next و nextLine به ترتیب برای خواندن یک کلمه، یک عدد صحیح و یک خط رشته روی sc می‌توان از پیشانه ورودی گرفت.
من این مثال رو از مستندات خود جاوا برای java.util.Scanner برداشتم. جزییات بیشتر را خودش توضیح داده.

البته من خودم چون هنوز JDK 1.5 نیامده بود با یک کتابخانه‌ی کمکی که استادمان نوشته بود ورودی گرفتن از کاربر را شروع کردم که همه‌ی کارهای مربوط به ورودی گرفتن (حتی چک کردن خطا را؛ در Scanner اگر کاربر در ورودی nextInt مثلا یک حرف را به جای عدد تایپ کند استثنا (exception) می‌اندازد ) را خودش انجام می‌داد. خودش و مستنداتش را این حا می‌گذارم تا اگر خواستید از آن استفاده کنید. (پسوند zip را از simpleio.jar.zip بردارید و آدرس آن را به classpath اضافه کنید)

----------


## houtanal

import java.io.*;
public class Main {
    
    public static void main(String[] args) throws IOException {
      BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
      System.out.println("enter something:");
      String s=in.readLine();
      System.out.println(s);
    }
    
}

----------


## دانشجویان دانشگاه آزاد

scanner input=new Scanner(system.in);     line 1
int n=input.nexint;                                     line2
System.out.println(n);                                line 3


library     import java.util.Scanner;              line 4

----------


## behrooz.mirzaie

سلام با قطعه کد زیر شما به راحتی  میتونی از صفحه کلید چیزی که میخوای رو بگیری  فقط در نظر بگیر شما int میتونین بگیرین

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {

            Scanner input = new Scanner(System.in);
            System.out.println("please enter you number \n ");
            int a = input.nextInt();
            System.out.print("your number is \t" +a);

            



    }

----------


## kshalip2

> من می خوام یه برنامه بنویسم که یه سری رشته و عدد (مثلا نام؛فامیلی، سن، سال تولد) و غیره رو بخونه، من توی برنامه ام از تگهای html استفاده نمی کنم می خوام این ورودیها رو توی Command Prompt بگیره اما حسابی گیج شدم چیکار کنم!



این برنامه برای جمع دو عدد است


 public class Addition 
 { 
 // از اینجا شروع میشه برنامه 
 public static void main( String args[] ) 
 { 
 // *وارد کردن کلاس اسکنر برای خواندن از command prompt*
 Scanner input = new Scanner( System.in ); 

 int number1; //اولین عدد 
 int number2; //دومین عدد 
 int sum; // مجموع اعداد اول و دوم 

 System.out.print( "Enter first integer: " ); //پیغام 
 number1 = input.nextInt(); // خواندن و یا گرفتن عدد از ورودی 

 System.out.print( "Enter second integer: " ); // پیغام 
 number2 = input.nextInt(); // خواندن دومین عدد از ورودی 

 sum = number1 + number2; // مجموع اعداد
 System.out.printf( "Sum is %d\n", sum ); // نشان دادن مجموع 

 } // پایان متد اصلی 

 } // پایان کلاس جمع



برای خواندن حروف ا ورودی مانند اسم بجای نوشتن input.nextint مینویسیم input.nextline

----------


## mortezaadi

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
            System.out.println("Enter Student no:"); // or whatever the first item is
            int stNo = Integer.parseInt(bf.readLine());
            
            System.out.println("Enter Student Name:");
            String name = bf.readLine();

----------

