الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل فيه امكانية تصحيح لهذين الكودين

بدأه hanooee في 22 أكتوبر 2013 · 6 رد · 884 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

فيه سؤال جاني كذا

 

 Write a Java program that prompts the user to enter names of 10 students and their grades as one string separated with ‘,’. For each student, print out his name and classified grade.

**Note: use for loop and switch. **Hint: A (90-100) , B ( 80-89) , C (70-79) , D ( 60 – 69)

 

Sample Run:

 

Student1: Sara Alhazmi,88

Output:

Sara Alhazmi : B

 

Student2: Nada Alamri,95

Output:

Nada Alamri : A

 

(**Repeated 10 times)

 

 

 

 

وانا حليته كذا

 

 

 
import 
java.util.*;public class 
students{public static void main (String 
args[]){;Scanner input= new Scanner 
(System.in);int 
f=10;for (int i=1 ; i<=f ; 
i++){System.out.println("Student"+i+":");String s = input.nextLine();//s=name student and 
gradString k 
=s.substring(0,s.indexOf(","));//nameString 
m = s.substring(s.indexOf(","));//graddouble grade 
=Double.parseDouble(m)/10 ; int u = 
Integer.parseInt("grade");switch 
(u){case 10:case 
9:System.out.println(k +": 
A");case 
8:System.out.println(k +": 
B");case 
7:System.out.println(k +": 
C");case 
6:System.out.println(k +": 
D");default 
:System.out.println(k +": f");}}}}

لكن المشكلة يطلع لي الكمباير صحيح لكن الرن فيه مشكلة

 

وكذلك جاني هذا السؤال

 

Write a Java program that prompts  the user to enter 10 positive integers and then Find the biggest value and number of its occurrences.

 **Note : use While Loop.

 

Sample Run:

please enter 10 numbers:

1

2

46

1

0

5

46

46

6

27

The biggest value is:  46  and It occurs  3 times.

 

 

 

وانا حليته كذا

import java.util.*;public 
class numbers{public 
static void main(String 
args[]){;Scanner input=new 
Scanner (System.in);int 
n=0;int 
H=0;int 
y=0;System.out.println("please Enter 10 numbers:");while 
(n<10){int 
f=input.nextInt();if ( 
f>y){y=f;n++;H=1;}else 
if(y==f){H++;}}System.out.println("the 
biggest value is: "+y+" and it is occurs 
"+H+" times");}}

هنا يطلع لي الكومابير صحيح والرن صحيح لكن يطلع لي لوب غير منتهي يعني ادخل ارقام كثيرة ولا يوقف !!

 

هل هناك مساعدة في حل هالمشكلتين ؟!

 

 

 

 

 

 

#2

عرفت الخطأ في السؤال الثاني كان في n++; المفروض اضعها في النهاية

 

طيب باقي السؤال الاول !!

#3

أهلين اختي وعليكم السلام

بالنسبة للاول شيلي string .nextLine لأان استخدامها صعب مع اللوب

عشان تحلين المشكله شيلي next lineواستبدليها ب two String مثال

String a=input.next;

String b=input.next;

int m=b.indexOf(',');
String grade=b.substring(m+1,b.length());

يارب اكون افدتك

موفقه:)

1
#4

:D 

تم تعديل هذه المشاركة بواسطة مجود في 23 أكتوبر 2013 في 01:48

#5

عندك كم مشكلة أولها مايلي /

أولا: حلك حلو وطريقتك بالتفكير جميلة لكن المهم طريقة الكود:

1-  لا حظ السطر  12 أضفت 1 لأنك لما طبقت دالة substring أخذت الرقم مع الفاصلة الآن ستأخد باضافة 1 ما بعد الفاصلة

2- عملية التدوير سطر 16 مهمة للتحويل بين double و String  حتى لا يطلعلك خطأ losing precision 

وباقي الخيارات تمام

import java.util.*;

public class student {

    public static void main(String args[]) {
        Scanner input = new Scanner (System.in);
        int f = 10;
        for (int i = 1; i <= f; i++) {
            System.out.println("Student" + i + ":");
            String s = input.nextLine();//s=name student and 
            String name = s.substring(0, s.indexOf(","));//name String 
            String  sgrade = s.substring(s.indexOf(",")+1);//graddouble grade 

            double grade = Double.parseDouble(sgrade) / 10;
            
            int ingrade = (int)Math.round(grade);
            switch (ingrade) {
                case 10:
                     System.out.println(name + ": A");
                    break;
                case 9:
                    System.out.println(name + ": A");
                    break;
                case 8:
                    System.out.println(name + ": B");
                    break;
                case 7:
                    System.out.println(name + ": C");
                    break;
                case 6:
                    System.out.println(name + ": D");
                    break;
                default:
                    System.out.println(name + ": f");
                    break;
            }
        }
    }
}

out but :

اقتباس

 

Student1:
mand , 90
mand : A
Student2:
somar , 80
somar : B
Student3:
samer , 54
samer : f
Student4:
khalil ,87
khalil : A
 

1

||***************************************************||


 ||بسم الله الذي لا يعلو على اسمه شيء في الارض ولا في السماء وهو العلي العظيم ||


||***************************************************||


 ||                             اللهم إن لم يكن بك غضب علي فلا ابالي                       ||


||***************************************************||


في المنتديات العلمية استخدام التقييم rep_up.png  rep_down.png  يرفع من قيمة الموضوع واهمية الرد

#6

السلام عليكم

 

 

@hanooee

  • يُمنع وضع الأسئلة بغير العربية.
  • كل موضوع في سؤال مختلف.
  • العنوان غير مناسب لمحتوى الموضوع.

 

 

التمرين الأول :

import java.util.Scanner;

public class PermierExercice {
    public static void main(String args[]) {
        String str, result[];
        Scanner input = new Scanner(System.in);        
        for (int i = 0; i < 10; i++) {
            System.out.println("Student " + (i + 1) + ": ");
            str = input.nextLine();
            result = str.split(",");
            if (result.length != 2)
                System.exit(-1);
            int grade = (int) Math.round(Double.parseDouble(result[1]) / 10);
            switch (grade) {
                case 10:
                case 9 : System.out.println(result[0] + ": A"); break;
                case 8 : System.out.println(result[0] + ": B"); break;
                case 7 : System.out.println(result[0] + ": C"); break;
                case 6 : System.out.println(result[0] + ": D"); break;
                default: System.out.println(result[0] + ": F"); break;
            }
        }
    }
}

التمرين الثاني :

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class DeuxiemeExercice {

    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        ArrayList<Integer> vector = new ArrayList<Integer>();
        for (int i = 0; i < 5; i++)
            vector.add(new Integer(input.nextLine()));
        Object obj = Collections.max(vector);
        System.out.println("Maximum Element is : " + obj + 
                ", count occurrence : " + Collections.frequency(vector, obj));
    }
}

تحياتي.

تم تعديل هذه المشاركة بواسطة Snack3r في 23 أكتوبر 2013 في 02:46 — السبب: اضافة تحذير بخصوص المخالفات الموجودة في الموضوع.

1
#7
اقتباس
للارتقاء بالمنتدى: عبارات الشكر غير مشكورة في المنتديات العلمية والتعليمية يرجى استخدام التقييم rep_up.png  rep_down.png بدلا منها

 

يا رااااجل !! :D

1

مواضيع مشابهة