2016-03-19 9 views
-2

bu program n1 ve n2 birleştirerek çıkış verir ama hem aritmetik olarakaritmetik işlem + sadece birleştirir hem değişkenler

String answer = ""; 

    if (a1.equals("+")){ 
     answer = (n1 + n2); 
    } 
    else if (a1.equals("-")){ 
     answer = n1 + n2; 
    } 
+2

İlk önce bir numaraya dönüştürmeniz gerekir. – morxa

+0

Demek ki n1 - n2' '' - ''? –

+0

@PeterLawrey Muhtemelen + o zamandan beri bıraktı - derleme hatası veriyor – Chexxor

cevap

1

dize ilave eklenecek bunu istiyorum (yani + anlamı ne zaman iki tarafın birini veya birkaçını dizelerdir), her zaman bunları eklemek yerine girdileri birleştirmeyi deneyecektir. Aritmetik bir ekleme yapmak için her iki girdinin de Number tipi olması gerekir, yani int, double, float, char.

int number1 = Integer.parseInt(n1) ve int number2 = Integer.parseInt(n2) öğelerini kullanın ve + işlecini dizelerde değil int'lerde kullanın.

0

İki şeyden biri burada devam ediyor - ya n1 ve n2 her iki dizgidir, bu durumda Integer.parseInt() öğelerini etraflarında kullanmanız gerekir.

Ya da onları zaten bir String olan bir dizeye eklediğiniz için boş String'i başlangıçta ayarlamış olduğunuzdan, eklenmeden önce Strings'e zorlanıyorsunuz. Bu durumda, ilk önce hesaplamayı bir değişken değişkende geçersiz kılabilir veya gerçekleştirebilirsiniz.

+0

Ek parantezi eklemeye koyduğu için ikinci senaryo pek olası değil. Parantez çözülene kadar atandıkları şeyi görmezden gelmeliler. – Chexxor

+0

İyi nokta. Cevabını verdim. – saml

0

senin sayısal değişkenler n1 için sayısal

var answer = 0; 
var n1 = 0; 
var n2 = 0; 

VEYA

Kullanım parseInt olarak başlatmak için başlamak takip ve n2

onay Bu yayını yapın:

How to add two numbers?