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

طلب تصحيح كود لبرنامج تشفير للمبتدئين

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

طلب مني كتابة كود

 

ومنه أطلب من اليوزر ادخال 4 ارقام

 

وأنا اقوم بتشفير الرقم المدخل مثلا المستخدم ادخل (7813)

 

فلتشفير الرقم

* اضرب كل رقم بـ 10 ليصبح 70 80 10 30

*اضيف لكل رقم 7 فيصبح 77 87 17 37

*اقوم بتغير الأماكن بحيث يكون الأول في الأخير والأخير في الأول والثاني في الثالث

* فيصبح المخرجات 37178777

 

أنا قمت بكتابة الكود بهذا الشكل

import java.util.*;
public class hanoof{
   public static void main(String args[]){
   //main method
   Scanner input=new Scanner (System.in);
       System.out.println("please enter 4 integer number");//ask the user to enter an integer number
       int number=input.nextInt();//to get the numbers from user
      
       System.out.println(num(number)); 
       }
     public static int num(int number){
String str = number + ""; 
str = str.substring ( 0 , 4) ; // only 4 digit 
String str2 = "" ; 
int H ; 
for(int i = 4 ; i > 0 ; i++) 
{ 
H = (Integer.parseInt(str.substring(i) )); 
str2 += ""+H*10+7 ; 
} 
  
int y = Integer.parseInt(str2) ; 
return y ; 
       
     }
    
}

لا أعرف هل الكود صحيح أم لا !!

 

لكن عندما اضغط رن يظهر لي هذا الخطأ المنطقي

please enter 4 integer number
7813
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:504)
	at java.lang.Integer.parseInt(Integer.java:527)
	at hanoof.num(q4.java:18)
	at hanoof.main(q4.java:9)

 ----jGRASP wedge2: exit code for process is 1.
 ----jGRASP: operation complete.

وشكراً

#2

الكود بعد التصحيح :

import java.util.Scanner;

public class CryptTest {

    public static int crypt(int number) {
        String tmp = String.valueOf(number);
        StringBuilder ret = new StringBuilder("");
        for (int i = 3; i >= 0; i--) {
            ret.append(String.valueOf(((Character.getNumericValue(tmp.charAt(i)) * 10) + 7)));
        }
        return Integer.parseInt(ret.toString());
    }

    public static void main(String args[]) {
        System.out.println("please enter 4 integer number : ");
        System.out.println(crypt(new Scanner(System.in).nextInt()));
    }
}

تم تعديل هذه المشاركة بواسطة Snack3r في 20 نوفمبر 2013 في 00:38

2
#3
      public static void main ( String args[] )

      {

            //main method

            Scanner input = new Scanner ( System.in );

            System.out.println ( "please enter 4 integer number" );//ask the user to enter an integer number

            int number = input.nextInt ();//to get the numbers from user

            System.out.println ( num ( number ) );

      }

      public static String num ( int number )

      {

            String str = number + "";

            str = str.substring ( 0 , 4 ); // only 4 digit

            String str2 = "";

            int H;

            for( int i = 3 ; i >= 0 ; i -- ) {

                  H = ( Integer.parseInt ( str.substring ( i , i + 1 ) ) ) * 10 + 7;

                  str2 += Integer.toString ( H );

            }

            return str2;

      }

تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 20 نوفمبر 2013 في 00:54

1

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…