اذهب إلى المحتوى

السؤال

نشر

كيف يمكن ادخال a float بدون حدوث خطا

package Method;

import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
   for (int i=0;i<3;i++){
     System.out.print("Enter val");
     Scanner in=new Scanner(System.in);
     float a;
     a=in.nextFloat();
     System.out.print(a);
   }
  }
}

 

Recommended Posts

  • 0
نشر

إن الدالة nextFloat تحاول قراءة مدخلات وتحويل القيمة لنمط Float وإن لم تنجح سوف تعطي استثناء و خطأ InputMismatchException.

يمكن استخدام الدالة بالطريقة التالية hasNextFloat، حيث تتأكد أن القمة التي يتم قرائته الاحقا هي Float

if (scanner.hasNextFloat()) {
            System.out.println("Found :" + scanner.nextFloat());
         }

في حال أردنا تجنب قراءة القيم الغيرFloadt أو غير النمط المراد نعمل في else 

scanner.next();

والتي لا نقوم بتخزين قيمتها أي نهملها، وبهذا ضمن الحلقة نقرأ Float في حال موجودة و نطبعها، وإلا نقرأ الجزء التالي و نقفز فوقه

  • 0
نشر
package flow;
import java.util.Scanner;
public class Main {

  public static void main(String[] args) {
  Scanner in=new Scanner(System.in);
   float scanner;
   scanner =in.nextFloat();
   if(scanner.hasNextFloat()){
    System.out.println("found"+scanner.nextFloat());
    }
  }
}

لم يتم التنفيذ اين الخطا؟

  • 0
نشر
بتاريخ 2 ساعات قال رحيق الزهور:

لم يتم التنفيذ اين الخطا؟

لأن ترتيب التنفيذ لديك فيه مشكلة، وغير منطقي، تقومين بعملية القراءة خارج الشرط ومشكلة في تعريف المتغيرات مثل scanner و الطباعة ضمن الحلقة

package flow;
import java.util.Scanner;
public class Main {

  public static void main(String[] args) {
    
    Scanner scanner =new Scanner(System.in);
    
    float value;

    if(scanner.hasNextFloat()){
      value =in.nextFloat();
      System.out.println("found"+ value);
    }
  }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...