如何解决在 dart 中 do while 循环中切换大小写
问题: 编写一个程序来创建杂货程序,其中我们有第一个空篮子。此外,无论用户想购买他/她放入那个篮子的任何物品。使用适当的控制结构和集合数据类型。 错误 情况 6 当我按 6 程序时不要停止询问输入您的选择。我需要帮助来解决这个问题。我必须做的时候我按 6 程序应该关闭。
**Input:**
import 'dart:io';
void main(){
List basket=[];
int i;
String str;
stdout.write("How many items:");
int n=int.parse(stdin.readLineSync()!);
for(i=1;i<=n;i++)
{
stdout.write("Item $i :");
str=stdin.readLineSync()!;
basket.add(str);
}
print("Choose Operation:");
print("press 1: for insert new item");
print("press 2: for delete an item");
print("press 3: for update an item");
print("press 4: for view basket");
print("press 5: for clear basket");
print("press 6: for exit");
int ch=0;
do {
stdout.write("enter your choose:");
int ch=int.parse(stdin.readLineSync()!);
switch(ch){
case 1:
stdout.write("enter item name:");
str=stdin.readLineSync()!;
basket.add(str);
print("your list after insert item: $basket");
break;
case 2:
stdout.write("Enter item name which you when to delete:");
str=stdin.readLineSync()!;
basket.remove(str);
print("your list after deleted item: $basket");
break;
case 3:
stdout.write("Enter item name which you when to remove:");
str=stdin.readLineSync()!;
basket.remove(str);
stdout.write("Enter item name which you when to add:");
str=stdin.readLineSync()!;
basket.add(str);
print("your list after updated item: $basket");
break;
case 4:
print(basket);
break;
case 5:
basket.clear();
print(basket);
break;
case 6:
break;
default:
print("unexpected operation enter the right operation");
break;
}
} while (ch!=6);
}
输出:
How many items:2
Item 1 :milk
Item 2 :apple
Choose Operation:
press 1: for insert new item
press 2: for delete an item
press 3: for update an item
press 4: for view basket
press 5: for clear basket
press 6: for exit
enter your choose:6
enter your choose:6
enter your choose:
解决方法
您的问题是您在两个范围内(循环内和循环外)声明了 ch
。因此,当您在循环内修改 ch
时,您实际上是在修改在此行定义的 ch
变量:
int ch = int.parse(stdin.readLineSync()!);
而不是:
int ch = 0;
您需要做的只是删除循环内行的 int
部分:
ch = int.parse(stdin.readLineSync()!);
因为我们现在将设置在循环外定义的变量 ch
的值,而不是创建一个具有相同名称的新变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。