我現在能明確依照小杯大杯跟數量來影響總價,但現在我要做加料的部分就不太了解了...怎麼三個串在一起
private Button.OnClickListener money = new
OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.medium: {
total_price.setText( "45" );
counter = Integer.parseInt( total_price.getText().toString()
);
break;
}
case R.id.large: {
total_price.setText( "80" );
counter = Integer.parseInt( total_price.getText().toString() );
break;
}
case R.id.bottled: {
total_price.setText( "" );
break;
}
}
less = (ImageButton) findViewById( R.id.less );
plus = (ImageButton) findViewById( R.id.plus );
less.setOnClickListener( AddandLess );
plus.setOnClickListener( AddandLess );
}
};
private Button.OnClickListener AddandLess = new
OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.less: {
if (count > 0) {
count--;
textView.setText( "" + count );
}
break;
}
case R.id.plus: {
if (count < max) {
count++;
textView.setText( "" + count );
}
break;
}
}
}
};
{
Perilla.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + Perilla1;
total_price.setText( counter );
}
}
} );
jelly.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + jelly1;
total_price.setText( counter );
}
}
} );
aloe.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + aloe1;
total_price.setText( counter );
}
}
} );
redbeans.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + redbeans1;
total_price.setText( counter );
}
}
} );
pearl.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + pearl1;
total_price.setText( counter );
}
}
} );
Coconut.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + Cocount1;
total_price.setText( counter );
}
}
} );
jade.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + jade1;
total_price.setText( counter );
}
}
} );
pudding.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + pudding1;
total_price.setText( counter );
}
}
} );
int TotalPrice = counter * count;
String strTotalPrice = String.valueOf( TotalPrice );
total_price.setText( strTotalPrice ); }
};
;
我更新了我目前的程式碼,但跟我想的不一樣...我以為加料的每個程式碼將原有的size+加料的金額再把它放進總金額total_price的textview顯示 會顯示45+10=55 但他不變,一樣是45....
我將每個加料在前面有宣告int pearl1=10這種
因為你是用文字直接相加
那樣等同於把文字串起來
要拿到正確的結果
請用數字相加
我現在遇到一個問題是 我在上面有宣告strTotalPrice但在下面的加料怎麼會出現(無法解析)是要在宣告一次嗎...怎麼做呢
呃
你貼的不是完整的 code
所以我也不知道你宣告的位置對不對
"< 我只知道我現在貼的那段
int TotalPrice = counter * count;
String strTotalPrice = String.valueOf( TotalPrice );
total_price.setText( strTotalPrice );
只能夠做大杯小杯的數量乘除而已
本來我想說把加料、大杯小杯、數量統整完下面再用這個code在表示
但貼在最下面又說無法解析= = 我學不久><
strTotalPrice 就命名來看是string型別吧....
你是string + 10 所以 會連在後面阿
要用 TotalPrice + 10 數字+數字
這是程式基礎沒有學會才會有這種問題.....
我好奇的是原本都是
strTotalPrice + 10
怎麼到後面變
strTotalPrice + "10"
了XD
== 因為我在試兩個有沒有差
我現在是看書自學....好難懂阿....QQ
沒這麼困難啦XD
以後你學到要連資料庫, 發 http request
搞不好頭會更痛
要解決 4510 的問題
就是去用數字做運算
要解決無法解析的問題
應該就是在正確的地方宣告
其實我不是很懂無法解析是什麼 error
我記得 log 不都是英文的嗎
pearl.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c)
{
if (c)
{
counter=counter+pearl1;
total_price.setText(counter);}
}
} );
現在我知道怎數字相加了,我有在前面程式碼打上大小杯會用counter來儲存,但我這邊下的第二行照理來說不是會把counter加完10元在顯示在total_price嗎....還是我哪邊理解有錯@@
(我在最前面有創一個int pearl1=10)
阿不然是顯示什麼呢
沒錯誤的話
就把 counter log 出來
然後你這樣寫
如果取消勾選看起來是不會扣掉10元
他沒把加料的價格顯示出來 一樣顯示小杯大杯的而已
編譯器比你還聰明,
他看到 String + int 就會自動轉成兩個 String 相加,
不過也有些程式語言不允許這樣,
一定要你轉型才能相加.
然後...
其實我不知道你的問題是什麼,
也許你也不知道...
依照你的說明來說
我猜想是想做飲料店的手機版本的pos簡易系統
功能應該是選擇飲料 選擇大小 選擇杯數 選擇加料
總金額公式應該是 strTotlePrice = 飲料價格* 杯數 + 加料
int TotalPrice = counter * count;
String strTotalPrice = String.valueOf( TotalPrice );
total_price.setText( strTotalPrice );
我猜想你的總金額應該是 int TotalPrice
counter是飲料價格 count是杯數
switch (v.getId()) {
case R.id.jelly: {
total_price.setText( strTotalPrice + 10);
break;}
case R.id.aloe: {
total_price.setText( strTotalPrice + 10);
break; }
case R.id.redbeans: {
total_price.setText( strTotalPrice + 10 );
break; }
case R.id.pearl: {
total_price.setText( strTotalPrice + 10 );
break;}
case R.id.jade: {
total_price.setText( strTotalPrice + "10" );
break; }
case R.id.Coconut: {
total_price.setText( strTotalPrice + "10" );
break;}
case R.id.pudding: {
total_price.setText( strTotalPrice + "10" );
break; }
case R.id.Perilla: {
total_price.setText( strTotalPrice + "10" );
break;}
} }
這段我猜想每個case是各種不同的加料 每種都是10元
所以你要加總的金額 應該是TotalPrice + 10
最後要輸出時 再將TotalPrice 轉成string型態
我目前狀況是
pearl.setOnCheckedChangeListener( new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c)
{
if (c)
{
counter=counter+pearl1;
total_price.setText(counter);}
}
} );
我按了小杯、任何一個加料,都只會顯示小杯價格,加料完全沒反應...
ws11017999
我仔細看了一下你的code
建議你重新排個板
很多跨號的地方都擺錯了
還有switch 寫錯
舉個例子
switch (v.getId()) {
case R.id.medium: {
total_price.setText("45");
counter = Integer.parseInt( total_price.getText().toString() );
} break;--break到底是在跨號內還是外?
case R.id.large: {
total_price.setText("80");
counter = Integer.parseInt( total_price.getText().toString() );
break;
}
case R.id.bottled: {
total_price.setText( "" );
break;
}
}
less = (ImageButton) findViewById( R.id.less );
plus = (ImageButton) findViewById( R.id.plus );
less.setOnClickListener( AddandLess );
plus.setOnClickListener( AddandLess );
下面關於加料的監聽
也有發現依些跨號的問題
請樓主再檢查試試
我更新了我的程式碼,但我現在執行就直接跳出上一個畫面
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{hk.csim.dm/hk.csim.dm.Main20Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference –
這個錯誤訊息是什麼意思.....google翻譯意思說嘗試用虛方法是什麼鬼
private Button.OnClickListener money = new OnClickListener()
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.medium:
{
total_price.setText( "45" );
counter = Integer.parseInt( total_price.getText().toString() );
break;
}
case R.id.large:
{
total_price.setText( "80" );
counter = Integer.parseInt( total_price.getText().toString() );
break;
}
case R.id.bottled:
{
total_price.setText( "" );
break;
}
}
less = (ImageButton) findViewById( R.id.less );
plus = (ImageButton) findViewById( R.id.plus );
less.setOnClickListener( AddandLess );
plus.setOnClickListener( AddandLess );
}
};
private Button.OnClickListener AddandLess = new OnClickListener()
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.less:
{
if (count > 0)
{
count--;
textView.setText( "" + count );
}
break;
}
case R.id.plus:
{
if (count < max)
{
count++;
textView.setText( "" + count );
}
break;
}
}
}
};
{ (這裡)
Perilla.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c)
{
if (c)
{
counter = counter + Perilla1;
total_price.setText( counter );
}
}
}
);
jelly.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c)
{
counter = counter + jelly1;
total_price.setText( counter );
}
}
}
);
aloe.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c)
{
if (c) {
counter = counter + aloe1;
total_price.setText( counter );
}
}
}
);
redbeans.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c) {
counter = counter + redbeans1;
total_price.setText( counter );
}
}
}
);
pearl.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c)
{
counter = counter + pearl1;
total_price.setText( counter );
}
}
}
);
Coconut.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c)
{
counter = counter + Cocount1;
total_price.setText( counter );
}
}
} );
jade.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c)
{
counter = counter + jade1;
total_price.setText( counter );
}
}
} );
pudding.setOnCheckedChangeListener(
new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean c) {
if (c)
{
counter = counter + pudding1;
total_price.setText( counter );
}
}
} );
int TotalPrice = counter * count;
String strTotalPrice = String.valueOf( TotalPrice );
total_price.setText( strTotalPrice ); }
}; (這裡)
幫你最後更新的code再整理一下
發現多了一個 { 還有一個 };
想知道為什麼大小杯 杯數都是用clickListencer
可是加料卻是用 CheckedChangeListencer
是一群checkbox 選項 有不加料 加料1 加料2 這樣嗎?
package test.com.testapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class PosActivity extends AppCompatActivity {
private CheckBox chkperilla;
private CheckBox chkjella;
private CheckBox chkredbeans;
private CheckBox chkaloe;
private CheckBox chkpearl;
private CheckBox chkcoconut;
private CheckBox chkjade;
private CheckBox chkpudding;
private TextView txtCnt;
private TextView txtMOA;
int iUnitPrice = 0; /* 單價 */
int iAddOn = 0; /* 加料的單價,每一種加 10 元 */
int iCount = 0; /* 杯數 */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pos);
chkperilla = findViewById(R.id.chkperilla);
chkjella = findViewById(R.id.chkjella);
chkredbeans = findViewById(R.id.chkredbeans);
chkaloe = findViewById(R.id.chkaloe);
chkpearl = findViewById(R.id.chkpearl);
chkcoconut = findViewById(R.id.chkcoconut);
chkjade = findViewById(R.id.chkjade);
chkpudding = findViewById(R.id.chkpudding);
txtCnt = findViewById(R.id.txtCount);
txtMOA = findViewById(R.id.txtMOA);
Button.OnClickListener chooseSize = new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.medium : { iUnitPrice = 45; break; }
case R.id.large : { iUnitPrice = 80; break; }
case R.id.bottled : { iUnitPrice = 100; break; }
}
showMOA(caculateMOA());
Log.d("KKK", Integer.toString(iUnitPrice));
}
};
Button btn = findViewById(R.id.medium);
btn.setOnClickListener(chooseSize);
btn = findViewById(R.id.large);
btn.setOnClickListener(chooseSize);
btn = findViewById(R.id.bottled);
btn.setOnClickListener(chooseSize);
Button.OnClickListener chooseCount = new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.less : {
if(iCount>0) {
iCount--;
}
break;
}
case R.id.plus : {
iCount++;
break;
}
}
showCount(iCount);
showMOA(caculateMOA());
Log.d("KKK", Integer.toString(iCount));
}
};
btn = findViewById(R.id.less);
btn.setOnClickListener(chooseCount);
btn = findViewById(R.id.plus);
btn.setOnClickListener(chooseCount);
chkperilla.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkjella.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkredbeans.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkaloe.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkpearl.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkcoconut.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkjade.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
chkpudding.setOnCheckedChangeListener(new BonusOnCheckedChangeListener());
}
private class BonusOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener{
@Override
public void onCheckedChanged(CompoundButton button,boolean isChecked){
if(button.isChecked()){
iAddOn += 10;
} else {
iAddOn -= 10;
}
showMOA(caculateMOA());
Log.d("KKK", Integer.toString(iAddOn));
}
}
private void showCount(int cnt) {
txtCnt.setText(Integer.toString(cnt));
}
private void showMOA(int moa) {
txtMOA.setText(Integer.toString(moa));
}
private int caculateMOA() {
int iRet = (iUnitPrice+iAddOn) * iCount;
return iRet;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".PosActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="金額"
android:textSize="50sp" />
<TextView
android:id="@+id/txtMOA"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_weight="1"
android:text="0"
android:textAlignment="viewEnd"
android:textSize="80sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Medium"
android:textSize="20sp" />
<Button
android:id="@+id/large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Large"
android:textSize="20sp" />
<Button
android:id="@+id/bottled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Bottle"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="杯數"
android:textSize="50sp" />
<TextView
android:id="@+id/txtCount"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_weight="1"
android:text="0"
android:textAlignment="viewEnd"
android:textSize="80sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/less"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"
android:textSize="50sp" />
<Button
android:id="@+id/plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:textSize="50sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/chkperilla"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Perilla" />
<CheckBox
android:id="@+id/chkjella"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Jella" />
<CheckBox
android:id="@+id/chkredbeans"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="RedBean" />
<CheckBox
android:id="@+id/chkaloe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Aloe" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/chkpearl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Pearl" />
<CheckBox
android:id="@+id/chkcoconut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Coconut" />
<CheckBox
android:id="@+id/chkjade"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Jade" />
<CheckBox
android:id="@+id/chkpudding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Pudding" />
</LinearLayout>
</LinearLayout>
謝謝!讓我有些概念,那如果我在size那邊是這樣用的話 後面的加料怎麼改...加上if else嗎
public void onClick(View v) {
switch (v.getId()) {
case R.id.less: {
if (count > 0) {count--; textView.setText( "" + count );
if (medium.isChecked()) { total_price.setText( Integer.toString( Integer.parseInt( "45" ) * count ) );
counter = Integer.parseInt( total_price.getText().toString() ); bottled.setChecked( false );
} else if (bottled.isChecked()) { total_price.setText( Integer.toString
( count * 0 ) );
count = Integer.parseInt( total_price.getText().toString() );
Toast toast = Toast.makeText( Main20Activity.this, " 無瓶裝! 請重新選擇!", LENGTH_SHORT );
toast.show();
} else {
total_price.setText( Integer.toString( Integer.parseInt( "80" ) * count ) );
counter = Integer.parseInt( total_price.getText().toString() );
bottled.setChecked( false );
}
}
break;
}
case R.id.plus: {
if (count < max) {
count++;
textView.setText( "" + count );
if (large.isChecked()) { total_price.setText( Integer.toString( Integer.parseInt( "80" ) * count ) );
counter = Integer.parseInt( total_price.getText().toString() ); bottled.setChecked( false );
} else if (bottled.isChecked()) { total_price.setText( Integer.toString
( count * 0 ) );
count = Integer.parseInt( total_price.getText().toString() );
Toast toast = Toast.makeText( Main20Activity.this, " 無瓶裝! 請重新選擇!", LENGTH_SHORT );
toast.show();
} else {
total_price.setText( Integer.toString( Integer.parseInt( "45" ) * count ) );
counter = Integer.parseInt( total_price.getText().toString() ); bottled.setChecked( false );
}
} break;
}
}
我是寫兩個if
第一個if是如果按下"-" 如果杯數>0 杯數顯示會累加
第二個if是如果中杯isChecked 總價會顯示
("45" * 杯數)
之後我把瓶裝的設定false 如果按下就會顯示 無瓶裝請重新選擇
但這樣我的加料是不是很難用..
所有的UI元件都只做一件事,就是「設定變數值」
顯示的部份,寫在另一個函式
我的做法是:大家只做好自己的事,一件事就好
杯數 +/-:點了就加減杯數(iCount)
大中小杯:點了就設定目前是大/中/小杯的單價(iUnitPrice)
加料:點了就加價/減價(iAddOn)
然後最重要的是
計算總價只要寫在一個地方就好,以免錯亂
private int caculateMOA() {
int iRet = (iUnitPrice+iAddOn) * iCount;
return iRet;
}
這樣子不管你的畫面設計如何變化
要按鈕、下拉、核取式、甚至文字方塊...
都不會影響到總價的計算
給你看我的版面你應該比較清楚!!
用checkBox 但只能單選
加料部分複選
我有試過你的 但要怎麼讓他中杯大杯只能單選???
用 RadioButton, 如下
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium"/>
<RadioButton
android:id="@+id/large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large"/>
</RadioGroup>
<Button
android:id="@+id/bottled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bottle"/>
</LinearLayout>
我現在卡在一個點就是,老師要我用Checkbox來做單選
但如果使用Checkbox做單選 不是就得用if else來判斷嗎 這樣最後面的總金額還能搞定嗎
喔我解決了! 那加料部分如果有+20元的加料 那if else要怎麼判斷呢海綿寶寶
我不知道你程式是怎麼寫的
如果照我上面寫的
只要改成以下判斷(假設珍珠20元)
其他部份都不需變動
if(button.isChecked()){
if(button.getId()==R.id.chkpearl) {
iAddOn += 20;
} else {
iAddOn += 10;
}
} else {
if(button.getId()==R.id.chkpearl) {
iAddOn -= 20;
} else {
iAddOn -= 10;
}
}