Let's do the first task.
We're going to rename the number input
parameter to have a different name.
This is the first input parameter,
int number,
and all I need to do is just
change the variable name.
I'm going to change this to,
for example, numberOfCoffees.
It can be any name that you want.
Now, I immediately see a warning and
an error.
The warning says, the parameter
numberOfCoffees is never used,
because nowhere in this method
do I use this variable.
Then I see that there's an error that
says, cannot resolve symbol number.
Now, there's no variable called number.
There's no local variable called number.
There's no global
variable called number.
And it's not an input parameter, either.
instead, I need to switch this so
that it's called numberOfCoffees.
And there you go, that fixed the error.
So I'm going to run it on my device now.
And this is what it looks like.
The quantity picker works as expected.
There should be no visible change to
the user because we just modified
the name of an input parameter.
Also, we didn't have to change the way
that the method is being called.
We can still say displayQuantity and
then pass in anything we want.
It doesn't matter to the caller
what this input parameter name is.
The second task is to change
the data type of the input parameter
from int to string.
So in the display quantity method,
I'm going to change the input so
that instead of a integer data type, it
expects a string data type, like this.
And now,
there's a couple errors in our app.
When I scroll up, I see that
there is a red squiggly underline
in the increment method and
in the decrement method.
The error message says,
displayQuantity string in MainActivity
can't be applied to something int.
What it's saying is that we can't
pass the quantity variable into
the method anymore because this is
an integer, and it's expecting a string.
This mismatch in data type
is causing an error, and
the app won't even run on our device.
This is a compile time error.
There's a couple ways to fix this.
Either we have to change what's
being passed into the method so
that this is actually a string.
I could put 100 here and put it in
double quotes so that it's a string, and
that would match the right
input type here.
But what we really want is for
quantity to still be an integer so
that we can do math on it to increase
it by one or decrease it by one.
So I'm going to leave this as quantity.
And then this should be
changed to be an integer.
And then our app should work again.
Cool.
So so
far, we've seen an example of
a method with one input parameter.
But what about examples of methods
with zero input parameters, or
two input parameters, or more?
لنقم بالمهمة الأولى.
سنقوم بإعادة تسمية اسم وسيط الدخل
number ليأخذ اسماً مختلفاً.
هذا هو وسيط الدخل الأول.
int number
وكل ما علي فعله،
هو تغيير اسم المتحول فقط.
سأقوم بتغييره إلى،
على سبيل المثال، numberOfCoffees.
يمكن أن يكون أي اسم تريده.
الآن، أرى مباشرة تحذيراً و خطأ،
يقول التحذير أن المتحول
numberOfCoffees لم يتم استخدامه.
لأنني لم استخدمه في أي مكان
في هذه الطريقة.
ثم أرى خطأً يقول
لا يمكن التعرف على متحول يدعى number.
الآن، لم يعد هناك متحول يدعى number.
ليس هناك متحول محلي يدعى number.
ليس هناك متحول عام يدعى number.
وليس هناك وسيط إدخال حتى.
بدلاً ضمن ذلك، علي أن أغيره
إلى numberOfCoffees.
وها هي ذا، أصلحَت الخطأ.
سأقوم بتشغيله على جهازي الآن.
وهذا ما يبدو عليه.
يعمل معدّل الكمية كما هو متوقع.
لا يجب أن يكون هناك تغيير
مرئي للمستخدم لأننا عدلنا فقط،
اسم وسيط الإدخال.
ليس علينا أن نغير الأسلوب الذي تستدعى
به الطريقة أيضاً.
لازلنا نستطيع أن نقول displayQuantity
ثم نقوم بتمرير أي شيء نريده.
لا يعني اسم وسيط الإدخال
شيئاً لمستدعي هذه الطريقة.
المهم الثانية هي تغيير نمط البيانات
لوسيط الإدخال.
من int إلى String.
إذاً في طريقة display_quantity
سأقوم بتغيير الدخل أيضاً.
حيث أنها بدلاً من نمط البيانات عدد صحيح،
إنها تتوقع نمط البيانات سلسلة كهذه.
والآن،
هناك بعض الأخطاء في تطبيقنا.
عندما أمرر للأعلى،
أرى أنه هناك خط أحمر متعرج.
في طريقة الزيادة
وفي طريقة النقصان.
وتقول رسالة الخطأ.
السلسلة "displayQuantity" في "MainActivity"
لا يمكن أن تطبق على شيء من النوع int.
ما تقوله أنه لا يمكننا
تمرير المتحول quantity
في الطريقة لأن هذا من النمط عدد صحيح،
وهي تتوقع سلسلة.
تسبب عدم المطابقة في أنماط البيانات هذه،
بخطأ.
ولن يستطيع التطبيق العمل على جهازنا.
هذا خطأ أثناء وقت الترجمة.
هنالك بضعة طرق لإصلاح ذلك.
إما أنه علينا أن نغير ماذا نمرر للطريقة،
حيث أنه هو في الواقع سلسلة،
أستطيع أن أضع 100 هنا وأضعها
بين علامتي تنصيص وتصبح سلسلة.
هذا سيطابق
نمط بيانات الإدخال الصحيح هنا.
ولكم ما نريده حقاً أن تبقى
quantity من النمط int.
بحيث يمكننا أن نطبق العمليات الرياضية عليها
لزيادتها أو إنقاصها بواحد.
لذا سأقوم بتركها quantity.
ثم سيتم تغيير هذا،
ليصبح من النمط int
و بالتالي يجب أن يعمل تطبيقنا.
جيد.
إذاً حتى الآن،
رأينا مثالاً عن طريقة،
بوسيط إدخال واحد.
ولكن ماذا عن الأمثلة عن الطرق
التي لا تملك وسطاء إدخال.
أو وسيطي إدخال أو أكثر؟
Hagamos la primera tarea.
Renombraremos el parámetro de entrada
number para tener un nombre distinto.
Este es el primer
parámetro de entrada, int number,
y todo lo que necesito hacer
es cambiar el nombre de variable.
Voy a cambiarlo, por ejemplo,a
numberOfCoffees.
Puede ser cualquier nombre que quieras.
Inmediatamente veo
una advertencia y un error.
La advertencia dice que no se usa
el parámetro numberOfCoffees
porque en ninguna parte del método
uso esta variable.
Luego hay un error que dice
que no se puede resolver number.
No hay variable llamada number.
No hay una variable local
llamada number.
No hay variable global
llamada number.
Y tampoco está en parámetro de entrada.
Necesito cambiar esto
para llamarlo numberOfCoffees.
Y ya está, solucionó el error.
Voy a activarlo ahora en mi dispositivo.
Así es como se ve.
El selector de cantidad funciona
según lo esperado.
No debería haber cambios visibles
para el usuario,
porque solo cambiamos el nombre
del parámetro de entrada.
Tampoco cambiamos la forma
en la que el método es llamado.
Todavía podemos poner displayQuantity
y pasar lo que queramos.
No importa el nombre
de este parámetro de entrada.
La segunda tarea es cambiar
el tipo de dato del parámetro de entrada
de int a string.
En el método displayQuantity
voy a cambiar la entrada
para tener una cadena de tipo de dato,
en vez de un entero.
Ahora hay un par de errores
en nuestra aplicación.
Cuando voy arriba, veo que hay
un subrayado rojo
en los métodos increment y decrement.
El error dice que la cadena
displayQuantity en MainActivity
no puede aplicarse a "algo" int.
Lo que dice es que ya no podemos pasar
la variable quantity
al método porque es un entero,
y lo que espera es una cadena.
Esta incompatibilidad en el tipo de dato
está causando un error
y la aplicación no lo ejecutará
en nuestro dispositivo.
Esto es un error de tiempo de compilación.
Hay un par de formas de solucionarlo.
Podemos cambiar lo que se ha pasado
dentro del método,
así que esto en realidad es una cadena.
Podría poner aquí "100" entre comillas,
entonces sería una cadena
y aquí se combinaría
con el tipo de entrada indicada.
Pero lo que queremos
es que quantity sea todavía un entero,
para que aún podamos realizar
operaciones matemáticas,
para aumentarlo o reducirlo por 1.
Voy a dejarlo como quantity.
Esto debería cambiar para ser un entero.
Luego nuestra aplicación
funcionará de nuevo.
Genial.
Hemos visto un ejemplo de un método
con un parámetro de entrada.
Pero, ¿qué hay sobre los métodos
con cero parámetros de entrada,
o dos o más parámetros de entrada?
Faisons le premier exercice.
Nous allons renommer le paramètre d'entrée
nombre afin d'avoir un nom différent.
C'est le premier paramètre d'entrée,
nombre type entier,
et tout ce que j'ai à faire c'est changer
le nom de la variable.
Je vais changer cela, par exemple,
en nombreDeCafés.
Il peut être n'importe quel nom souhaité.
Maintenant, je vois immédiatement
un message d'avertissement et une erreur.
L'avertissement dit, le paramètre
nombreDeCafés n'est jamais utilisé,
car nulle part dans cette méthode
j'ai utilisé cette variable.
Alors je vois qu'il y a une erreur disant,
impossible de résoudre le symbole nombre.
Maintenant, aucune variable n'est
appelée nombre.
Aucune variable locale appelée nombre.
Aucune variable globale appelée nombre.
Et il n'est pas un paramètre, non plus.
au lieu de cela, j'ai besoin de changer
celà afin de l'appeller nombreDeCafés.
Et vous voilà, l'erreur est fixée.
Donc je vais le lancer sur mon appareil.
Et c'est à quoi il ressemble.
Le compteur fonctionne comme prévu.
Il ne devrait y avoir aucun changement
visible à l'utilisateur parce que nous
venons de modifier
le nom du paramètre d'entrée.
En outre, nous n'avions pas à changer
la façon dont que la méthode est appelée.
Nous pouvons encore dire afficherQuantité
et d'y passez tout ce que nous voulons.
Aucun problème pour l'appelant concernant
le nom de paramètre d'entrée.
La deuxième travail consiste à changer
le type de données du paramètre d'entrée
d'entier à chaîne de caractère.
Ainsi, dans la méthode d'affichage de
quantité, je vais changer l'entrée donc
au lieu d'un type de données entier,il
s'attend à un type de données chaîne de
caractère, comme ceci.
Et maintenant, Il y a quelques erreurs
dans notre application.
En faisant défiler vers le haut, je vois
un trait de soulignement ondulé rouge
dans la méthode d'incrémentation et dans
la méthode de décrementation.
Le message d'erreur dit :
AfficherQuantité une chaîne de caractère
dans ActivitéPrincipale ne peut
s'appliquer à un entier.
Il dit que nous ne pouvons pas passer
la variable quantité à
la méthode parce que c'est un entier et
il attend une Chaîne de caractère.
Cette disparité dans le type de données
provoque une erreur, et
l'application ne fonctionne plus
sur notre appareil.
Il s'agit d'une erreur de compilation.
Il y a quelques manières de résoudre celà.
Soit il faut changer ce qui s'est passé
dans la méthode donc
il s'agit en fait d'une Chaîne
Je pourrais mettre 100 ici et le mettre
dans double quotes pour qu'il soit
une Chaîne de caractère, et
qui correspondrait au type
d'entrée appropriée.
Mais ce que nous voulons vraiment c'est
que quantité soit toujours un entier alors
que nous pouvons faire des calculs sur lui
pour l'augmenter d'un ou le diminuer d'un.
Donc je vais le laisser comme quantité.
Et puis, cela devrait être modifiée
pour être un entier.
Et puis notre application devrait
fonctionner à nouveau.
Bien. Comme ça
jusqu'à maintenant, nous avons vu
l'exemple d'une méthode avec un paramètre.
Mais qu'en est-il des exemples de méthodes
avec aucun paramètre d'entrée, ou
deux paramètres entrées, ou plus ?
Mari kita kerjakan tugas pertama.
Kita akan mengubah parameter input number
dengan nama yang berbeda.
Ini adalah parameter input
pertama, int number,
dan saya hanya perlu
mengubah nama variabelnya.
Saya akan mengubahnya menjadi,
misalnya, numberOfCoffees.
Anda dapat mengubahnya
dengan sembarang nama.
Sekarang, saya langsung melihat
peringatan dan eror.
Peringatan menunjukkan, parameter
numberofCoffees tidak pernah digunakan.
karena saya tidak menggunakan
variabel tersebut pada metode ini.
Lalu, saya melihat ada eror yaitu
simbol number tidak dapat dipecahkan.
Tidak ada variabel bernama number.
Tak ada variabel lokal bernama number.
Tak ada variabel global bernama jumlah.
Dan bukan pula parameter input.
Maka, saya harus mengubahnya sehingga
dapat tertulis numberOfCoffees.
Dan lihat, berhasil.
Saya akan jalankan di
perangkat saya.
Inilah hasilnya.
Pilihan quantity berfungsi
sesuai harapan.
Tidak ada perubahan yang terlihat pada
pengguna karena kita baru saja mengubah
nama parameter input.
Kita juga tidak perlu mengubah
cara di mana metode digunakan.
Kita masih dapat menyebutnya
displayQuantity
lalu memasukkan sesuai
yang kita inginkan.
Nama parameter input apapun
tidak masalah untuk penyebutnya.
Tugas kedua adalah mengubah
jenis data parameter input
dari int menjadi string.
Jadi dalam metode displayQuantity,
saya akan mengubah input agar,
bukan jenis data integer
yang diharapkan, namun
adalah jenis data string, seperti ini.
Sekarang ada beberapa eror dalam aplikasi.
Bila saya gulir ke atas,
ada garis bawah merah
pada metode increment
dan metode decrement.
Pesan eror menunjukkan,
stringdisplayQuantity di mainActivity
tak dapat diterapkan pada int.
Maksudnya adalah kita tak lagi dapat
memasukkan variabel quantity
ke dalam metode karena berupa integer.
Yang diharapkan adalah string.
Ketidakcocokan jenis data tersebut
mengakibatkan eror, dan
aplikasi tidak akan berjalan
pada perangkat kita.
Ini adalah compile time eror.
Ada bebrapa cara untuk memperbaikinya.
Kita harus mengubah apa yang
dimasukkan ke dalam metode, sehingga
benar-benar menjadi string.
Saya bisa masukkan 100 di sini
dan diapit tanda kutip
hingga menjadi sebuah string, dan
yang cocok dengan jenis
input yang benar di sini.
Tapi yang sebenarnya kita mau adalah
quantity masih berupa integer
agar kita dapat menghitungnya
dengan menambah satu
atau mengurangi satu.
Jadi saya akan membiarkan
ini sebagai quantity.
Lalu diubah menjadi integer.
Maka aplikasi kita dapat berjalan lagi.
Keren.
Sampai di sini, kita telah lihat
contoh metode dengan
satu parameter input.
Tapi bagaimana dengan metode
dengan parameter input 0, atau
dua atau lebih parameter input?
最初のタスクを実行しましょう
numberインプットパラメータの名前を
変更します
これは最初のインプットパラメータの
int numberです
しなくてはならないのは ただ単純に
変数の名前を変えるだけです
たとえばこれを numberOfCoffeesに
変更してみましょう
好きな名前にすることができます
さて 警告とエラーがすぐに
表示されます
警告は numberOfCoffeesという
パラメータは使用されていないと言っています
このメソッドのどこでも この変数を
使用していないためです
次に numberというシンボルを解決できません
というエラーが表示されています
numberと呼ばれる変数はありません
numberと呼ばれるローカル変数はありません
numberと呼ばれる
グローバル変数はありません
これはインプットパラメータでもありません
代わりに これがnumberOfCoffeesと呼ばれるように
変更する必要があります
これで エラーが修正されました
これを私の機器で実行してみます
このようになります
量の選択は期待通りに動作します
インプットパラメータの名前を変更したので
ユーザーに対して目に見える変更は
一切ありません
また メソッドが呼び出される方法を変更する
必要もありませんでした
それでも displayQuantityと呼び
好きなものを渡すことができます
呼び出し元にとってはインプットパラメータの
名前は問題ではありません
第二のタスクはインプットパラメータの
データ型を変更することです
intからstringに変えます
displayQuantityメソッドでは
インプットを変更して
整数のデータ型の代わりに このように
文字列のデータ型を求めるようにします
私たちのアプリには いくつかのエラーが
発生しています
上にスクロールすると 赤でくねくねとした
下線があることに気が付きます
incrementメソッドと
decrementメソッドの部分です
エラーメッセージいわく
MainActivity内のdisplayQuantity文字列は
intのものには適用することができないということです
これはつまり 量の変数をメソッドへと
渡すことはもうできないということであり
これは整数ですが
文字列が求められているためです
データ型のミスマッチがエラーを
引き起こしています
それで私たちの機器ではアプリが動作しないのです
これはコンパイルタイムエラーです
これを直す方法がいくつかあります
これが実際には文字列となるように
メソッドへと渡されるものを
変更する必要があります
ここに100を渡し 二重引用符に入れ
これが文字列となるようにし
適切なインプット型とマッチするように
することができます
ですが 私たちが実際に求めているのは
量を整数のままに保ち
1ずつ増加または減少できるように
計算できるようにすることです
これは量のままにしておきます
そして これは整数へと
変更されるべきですね
私たちのアプリはまた動作するようになるはずです
良し
それなりですね
インプットパラメータ1つのメソッドに
関する例を見てきました
ですがインプットパラメータがゼロだったり
2つやそれ以上のインプットパラメータを持つ
メソッドの例はどうでしょうか?
첫번째 과제를 풀어봅시다.
수치 입력 파라미터의 이름을
바꿔보겠습니다.
여기 첫번째 입력 파라미터가
있습니다. 'int number'네요.
변수명만 한 번 바꿔보죠.
어디, 이걸 numberOfCoffees로
바꿔볼까요.
어떤 이름이라도 상관 없어요.
바로 경고 및 오류 메세지가 뜨네요.
경고 내용은, numberOfCoffees라는
파라미터가 미사용중이라는 건데요.
당연한 거겠죠. 이 메소드 전체에서
이 변수는 여기 말고는 없으니까요.
그리고 오류 내용은, number라는
기호를 처리할 수 없다는 거네요.
지금 보시면, number라는 변수가 없죠.
로컬 변수에도 없고,
글로벌 변수에도 없어요.
입력 파라미터도 아니죠.
그러면 여기를 numberOfCoffees라고
바꿔 보도록 하죠.
오류가 수정된 것을 보실 수 있습니다.
이걸 제 기기에서 작동해 보죠.
이렇게 됩니다.
수량 조절도 이상 없네요.
사용자의 눈에 띄는 변동은 없을 거예요.
우리는 단순히 입력 파라미터의
이름만 바꿨을 뿐이니까요.
그리고, 메소드 호출 방식을
바꾸지도 않았습니다.
displayQuantity라는 이름을 그대로
둔 채 어떤 정보를 넣어도 상관 없어요.
호출자에게 이 입력 파라미터 이름은
별 문제가 되지 않습니다.
두번째 과제는 입력 파라미터의
데이터 입력 형태를 int에서
string으로 바꾸는 거였죠.
디스플레이 수량 메소드에서
입력 형태를 정수형에서
문자형으로 바꿀 거예요.
문자 입력이 들어가게요. 이렇게.
이제 보시면,
앱에 몇 가지 에러가 떴군요.
스크롤을 올려 보면,
빨간 물결무늬 밑줄이
증가 및 감소 메소드에 그어진 걸
볼 수 있어요.
오류 메세지 내용은,
MainActivity에서 'displayQuantity'라는
문자열은 int.에 쓸 수 없다는 거예요.
이 말은 수량 변수를 메소드에
더이상 전달할 수 없다는 뜻입니다.
수량 변수는 정수형이고, 지금의
입력 형태는 문자형이니까요.
데이터 형태 불일치로 인해
발생한 오류입니다. 그리고
앱이 기기상에서 작동하지도 않네요.
이것은 컴파일 타임 오류입니다.
이를 수정하는 데엔
몇 가지 방법이 있는데요.
메소드에 전달되는 내용을 바꿔
문자열로 들어가게 할 수 있겠죠.
여기에 100을 입력하고 큰따옴표를
쳐서 문자열로 만들면
올바른 입력 형태로 만들 수 있죠.
하지만 우리가 원하는 건 수량을
정수형으로 유지하여
하나씩 늘리거나 줄이는 일이
가능하도록 하는 것이죠.
그러니 여기를 quantity로 만듭시다.
여기는 정수형으로 바뀌어야 겠죠.
이러면 앱이 다시 정상 작동합니다.
좋아요.
지금까지
우리는 한 종류의 입력 파라미터를
사용하는 메소드의 예를 봤습니다.
하지만 입력 파라미터가 0이거나 2,
또는 그 이상인
메소드의 예는 어떨까요?
Vamos fazer a primeira tarefa.
Renomear o parâmetro de entrada
number para outro diferente.
Este é o primeiro parâmetro de entrada, int number,
e apenas preciso mudar o nome da variável.
Vou mudar para, por exemplo,
numberOfCoffees.
Pode ser o nome que você quiser.
Vejo imediatamente um aviso e um erro.
O aviso diz que o parâmetro
numberOfCoffees nunca é usado,
porque eu não uso esta variável neste método.
Então, vejo um erro que diz não ser
possível resolver o símbolo number.
Não há uma variável chamada number.
Não há nenhuma variável local
ou global chamada number,
E, também não é um parâmetro de entrada.
Em vez disso, preciso mudar isso
para chamar-se numberOfCoffees.
Como vê, isso concertou o erro.
Vou executar em meu dispositivo.
Fica desse jeito, o seletor
de quantidade funciona como esperado.
Não deve haver mudança visível para o usuário,
pois apenas mudamos o nome
de um parâmetro de entrada.
Também não precisamos mudar
como o método está sendo invocado.
Ainda podemos dizer displayQuantity,
e depois passar o que quisermos.
Para quem invoca, não importa
o nome desse parâmetro de entrada.
A segunda tarefa é mudar
o tipo de dado do parâmetro de entrada
de int para string.
No método displayQuantity,
vou mudar a entrada para que,
em vez de um tipo de dado inteiro,
ele espere um tipo de dado
de texto, como esse.
E agora tem um par de erros no app.
Ao rolar para cima, vejo uma linha
vermelha no método de incremento
e no método de decremento.
A mensagem de erro diz:
"a string displayQuantity em MainActivity não pode ser atribuída a algo que é int".
O que está dizendo é que não podemos mais passar a variável quantity para o método
porque isso é um inteiro,
e o método espera uma string.
Essa incompatibilidade no tipo de dados
está causando um erro.
E o app não vai executar no dispositivo.
É um erro do tempo de compilação.
Há algumas maneiras de corrigir isso.
Ou mudando o que está sendo
passado para o método
para isto realmente ser uma string,
ou colocando 100 entre aspas,
de modo que ele seja uma string,
o que iria coincidir com o tipo de entrada aqui.
Mas o que realmente queremos,
é que quantity seja um número inteiro,
para podermos fazer cálculos com ele,
e incrementá-lo ou decrementá-lo em um.
Então eu vou deixar isso como "quantidade",
e depois isto deve mudar-se para "inteiro".
E o app deve funcionar de novo.
Legal, até agora,
vimos um exemplo de método
com um parâmetro de entrada.
Mas, e os métodos com zero
parâmetros de entrada
ou os de dois parâmetros
de entrada, ou mais?
Давайте сделем первое задание.
Мы переименуем числовой
исходный параметр.
Это первый исходный параметр,
это число,
и все что надо сделать -
просто изменить название переменной.
Я измею это на
numberOfCoffees.
Можно взять любое имя.
Теперь, я сразу вижу
предупреждение и ошибку.
Предупреждение что параметр
numberOfCoffees еще не использовался,
потому что нигде в методе
я не использовала эту переменную.
А еще ошибку - не определется
символ number.
Переменной number нет.
Нет локальной переменной
с именем number.
И глобальной такой тоже нет.
Также это не исходный параметр.
Вместо я поменяю вот это, чтобы
стало называться numberOfCoffees.
И вот - ошибка исправлена.
Я запущу все на устройстве.
Вот как это выглядит.
Выбор количества работает как надо.
Видимых изменений быть не должно,
потому что мы изменили только
название исходного параметра.
Также нам не надо менять
способ вызова метода.
Мы все еще можем вызвать
displayQuantity и передать что хотим.
Для вызова не имеет значения как
называются исходные параметры.
Во втором задании надо изменить
тип данных исходного параметра
с численных на строковые.
Итак в методе quantity method
я собираюсь изменить исходные так что
вместо числового типа данных будет
требоваться строковый тип, вот так.
Сейчас в приложении есть пару ошибок.
Пролистав вверх, я вижу красное
волнистое подчеркивание
в методах increment и decrement.
В ошибке сказано, что
строка displayQuantity в MainActivity
не может работать с чем-то числовым.
Это значит, что мы больше не можем
передавать переменную quantity в
метод, потому что это число,
а ожидается строка.
Несовпадение типа данных
приводит к ошибке
и приложение даже не
получится запустить.
Это ошибка компиляции.
Есть несколько способов ее исправить.
Либо мы меняет то что
преобразуется в алгоритме так,
чтобы это была строка.
Я могу поставить 100 и поставить
двойные кавычки - обозначить строку
и это совпадет с верным типом
исходных данных здесь.
Но нам надо чтобы количество
оставалось числом,
чтобы можно было вычислять его
увеличение или уменьшение на один.
Поэтому я оставлю все как quantity.
А потом вот это надо
изменить на числовое.
После этого приложение
должно работать.
Отлично.
До сих пор мы рассматривали пример
с одним исходным параметром.
Как насчет примеров методов
без исходных параметров или
с двумя исходными, или больше?
Şimdi ilk görevi yapalım.
Farklı bir isim vermek için giriş parametresini tekrar adlandıracağız.
Bu ilk giriş parametresi, tam sayı,
Ve tek yapmam gereken değişkenin ismini değiştirmek.
Bunu şöyle değiştireceğim, örneğin, kahvelerin sayısı.
İstediğiniz her isim olabilir.
Şimdi hemen bir uyarı ve bir hata görüyorum.
Bu uyarı diyor ki, kahvelerin sayısı parametresi daha önce hiç kullanılmadı,
Çünkü bu metodun içinde hiç bir yerde bu değişkeni kullandım mı.
Sonra bir hata görüyorum, diyor ki; sembol sayısı çözümlenemiyor.
Şimdi, adı sayı olan hiç değişken yok.
Adı sayı olan hiç yerel değişken yok.
Adı sayı olan hiç küresel değişken yok.
Ve bu bir giriş parametresi de değil.
Öyleyse, bunu değiştirmem gerekiyor ki adı kahvelerin sayısı olsun.
Ve işte hatayı onardım.
Şimdi cihazımda çalıştıracağım.
Ve görünüşü böyle.
Miktar toplayıcı beklenildiği gibi çalışıyor.
Kullanıcının görebileceği görünür bir değişiklik yok, çünkü az önce
Bir giriş parametresinin adını değiştirdik.
Ayrıca, metodun çağrılma yolunu değiştirmemiz de gerekmedi.
Hala miktarı görüntüleyebilir ve sonra istediğimize geçebiliriz.
Çağıran için bu giriş parametresinin adı önemli değil.
İkinci görev giriş parametresinin veri türünü tam sayıdan
Diziye çevirmek.
Yani miktarı görüntüle metodu içinde, girişi değiştireceğim böylece
Tam sayı verisi yerine, dizi veri türü bekleyecek, aynen böyle.
Ve şimdi, uygulamamızda bir kaç hata var.
Yukarı çıktığımda, kırmızı kıvrımlı bir alt çizgi görüyorum
Artış metodunda ve azalma metodunda.
Hata mesajı diyor ki;
Ana aktivite içindeki miktarı görüntüle dizisi tam sayı olan bir şeye uygulanamaz.
Dediği şu ki, miktar değişkenini artık metoda geçiremeyiz, çünkü artık
O bir tam sayı ve bir dizi bekliyor.
Bu uyumsuz veri türü hataya sebep oluyor, ve
Uygulama cihazımızda çalışmayacak bile.
Bu bir derleme zamanı hatası.
Bunu çözmenin birkaç yolu var.
Ya metoda geçecek olan şeyi değiştiririz ki
Bu aslında bir dizi olduğu için.
Buraya 100 koyabilirim ve tırnak işareti içine alırım ki bir dizi olur, ve
Bu buradaki doğru giriş türüne uyardı.
Ama bizim gerçekten istediğimiz şey miktarın hala bir tam sayı olması yani
Bir bir arttırmak için üstünde hesap yapabiliriz ya da bir bir azaltmak için.
Yani, bunu miktar olarak bırakacağım.
Ve sonra bu bir tam sayı olacak şekilde değişmeli.
Ve sonra uygulamamız tekrar çalışmalı.
Harika, yani
Şimdiye dek, tek giriş parametreli metoda bir örnek gördük.
Fakat ya sıfır giriş parametreli metod örnekleri, ya da
İki ve daha fazla giriş parametreleri?
Hãy thực hiện nhiệm vụ đầu tiên.
Chúng ta sẽ đặt lại tên dữ liệu
tham số đầu vào để có tên khác.
Đây là tham số đầu vào thứ nhất,
số nguyên,
và tất cả những điều tôi cần làm
là thay đổi tên biến số.
Ví dụ, tôi sẽ đổi thành
numberOfCoffees.
Bạn có thể đặt tên nào bạn muốn.
Bây giờ, tôi thấy một cảnh báo
và thông báo lỗi.
Cảnh báo rằng tham số numberOfCoffees
chưa bao giờ được sử dụng,
vì tôi chưa từng dùng biến đó
trong phương pháp này.
Sau đó tôi nhận thấy một lỗi
là không thể khôi phục số biểu tượng.
Bây giờ, không có biến nào tên number.
Không biến cục bộ nào tên number.
Không biến toàn cục nào tên number.
Và đó cũng không phải tham số đầu vào.
Nên tôi cần chuyển đổi biến này
để nó có tên là numberOfCoffees.
Và nó đã sửa được lỗi.
Tôi sẽ chạy ứng dụng trên thiết bị.
Và đây là hoạt động của ứng dụng.
Bảng chọn số lượng
hoạt động như mong đợi.
Không có sự thay đổi nào hiển thị với
người dùng vì ta chỉ
đổi tên của tham số đầu vào.
Thêm nữa, ta không cần thay đổi cách
áp dụng của phương pháp.
Chúng ta vẫn có thể gọi displayQuantity,
sau đó thêm bất cứ gì chúng ta muốn.
Tên tham số đầu vào không ảnh hưởng
tới phương pháp áp dụng.
Nhiệm vụ thứ hai là thay đổi
kiểu dữ liệu của tham số đầu vào
từ số nguyên sang chuỗi.
Do đó trong phương pháp
hiển thị số lượng, tôi sẽ thay đổi đầu vào
để thay vì số nguyên, sẽ là
kiểu dữ liệu chuỗi, giống thế này.
Và bây giờ, xuất hiện một vài
lỗi trong ứng dụng.
Khi cuộn lên, tôi thấy
dấu gạch chân màu đỏ.
trong phương pháp gia số và
phương pháp giảm dần.
Thông báo lỗi cho biết,
chuỗi displayQuantity trong MainActivity
không thể áp dụng cho một số nguyên.
Điều thông báo lỗi chỉ ra là ta không thể
thêm biến số lượng vào
phương pháp này nữa bởi vì đây là
số nguyên còn phương pháp cần một chuỗi.
Sự không phù hợp
của kiểu dữ liệu gây lỗi
và ứng dụng không chạy trên thiết bị.
Đây là lỗi thời gian biên dịch.
Có một số cách để sửa lỗi này.
Chúng ta phải thay đổi kiểu dữ liệu
nhập vào phương pháp
để đó thực sự là một chuỗi.
Tôi có thể thêm 100 với hai dấu ngoặc kép
để biến nó thành chuỗi
và chuỗi này sẽ phù hợp với
kiểu đầu vào ở đây.
Nhưng điều chúng ta thực sự mong muốn
là số lượng vẫn là một số nguyên
để ta có thể tính toán với nó,
tăng một hoặc giảm một.
Vì thế tôi vẫn giữ
biến này là số lượng.
Và sau đó chuyển thành số nguyên.
Và sau đó ứng dụng sẽ hoạt động trở lại.
Tuyệt thật.
Vậy tới nay, chúng ta đã thấy ví dụ về
phương pháp với một tham số đầu vào.
Nhưng ví dụ về phương pháp
không có tham số đầu vào thì sao,
hay hai tham số đầu vào
và nhiều hơn?
让我们来做第一个任务
给输入参数 number 重命名
这是第一个输入参数 int number
所有我需要做的只是改变变量名
我要更改它 例如 numberOfCoffees
它可能是任何你想要的名字
现在 我突然看见一个警告和一个错误
警告说 实参 numberOfCoffees 没有被使用过
因为我在这个方法的某个地方用过这个变量
这时我看见一个错误 不能解析符号 number
现在 没有叫 number 的变量
这里没有叫 number 的局部变量
也没有叫 number 的全局变量
这也不是一个输入参数
反而 我需要切换这个 让它叫 numberOfCoffees
这就对了 解决了错误
我现在要在我的设备上运行它
它看起来就像样子
数量选择器如预期般运行
对于使用者没有明显的区别因为我们只是修改
一个输入参数的名字
同样 我们不必改变方法的调用方式
我们仍可以调用 displayQuantity 并以我们想要的方法传递
输入参数的名字对于调用者是没有关系的
第二个任务是改变输入参数的数据类型
从 int 到 string
所以在这个 display quantity 方法中 我将改变输入
来代替整型数据类型 改成它期望一个字符串类型 像这样
现在 我们的应用有两个错误
当我向上滚动 我看见这有一个红色弯弯曲曲的下划线
在 increment 方法和 decrement 方法
这个错误信息显示
字符串 displayQuantity 在 MainActivity 不能被用于整型
它说我们不能将 quantity 变量传递给
这个方法 因为这是个整型 而它期望字符串
这个数据类型不匹配引起一个错误 并且
应用在我们的设备上无法运行
这是编译时的错误
这里有两个方法修改它
都需要我们修改传入方法的值因此
这实际上是字符串
我可以在这设置100并把它放进双引号这样它是字符串
会与输入类型匹配
不过我们期望的 quantity 仍然是整数
我们可以以算数方式加1或减1
所以我把 quantity 放在这
它会被修改为整型
我们的应用就又可以运行了
酷 一般一般
我们已经看过一个关于输入参数的方法的例子
但不带参数或
带2个或更多参数的方法的例子又是怎样的呢?
我们开始完成第一项内容。
重命名输入参数的值,赋予其一个不同的名字。
这就是第一个输入参数,是一个整型数据(int number),
我需要做的就是改变这个变量的名字。
比如,可以将它改成 ‘numberOfCoffees’。
它可以是任意你想要的名字。
现在,马上出现了一个警告和错误。
警告的意思是说‘numberOfCoffees’这个参数从来没有被用过,
因为在这段程序中我从来没有用过它作为变量。
而这个错误的意思是说不能分解代码。
现在没有被调用的变量了。
本地被调用的变量里也没有。
也不在被调用的全局变量中。
并且它也不是输入的参数。
所以,我需要将其转换,使‘numberOfCoffees’能被调用。
就这样,错误解决了。
现在可以在设备中运行了。
它看起来就是这样子的。
像预想的那样,这个数量选择器成功运行了。
对用户来说是看不到变化的,因为我们只是修改了
输入参数的名字而已。
并且,我们也不必更改程序调用的方式。
我们仍然能够指定‘numberOfCoffees’,然后输入任意想要的值。
对于调用过程来说输入参数的名字是什么无关紧要。
第二项内容是改变输入参数的数据类型,
从一整个数变成一个字符串。
所以在用来显示数量的程序中,我要更改输入值,
用一串字符来代替单个的整数数据,像这样。
但是,现在在我们的应用中有好几个错误出现了。
往回看,可以看到有红色曲型下划线,
出现在增量运算和减量运算中。
错误信息说的是,
‘displayQuantity’的主程序中字符串不能作为整数数据应用。
意思就是不能输入这些变量,
因为程序中的是整数数据,而我们想要的是数据串。
数据类型不匹配才会引发错误产生,
甚至,该应用都不能在设备上运行。
这是一个编译期错误。
有很多方法能修复。
其中之一是,我们来更改程序中的数据,
让它成为真正的字符串。
比如我输入100,然后加上引号,这样它就成了一个字符串,
它与输入的数据类型是相匹配的。
但是实际上我们还是希望数量是一个整型,
因此,我们要对其做一些增减,
使之成为一个整体。
我们留下这个数量数据。
然后将它改成一个整型数据。
这样我们的应用程序就能运行了。
酷!所以到目前为止,
我们了解了带有一个输入参数的程序的例子。
那么不带输入参数的程序,以及
带有两个或更多输入参数的程序是怎么样的呢?