dart - 在 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
而不是创建一个具有相同名称的新变量。
推荐阅读
- java - 如何解决读取 JSON 文件以获取名字和姓氏的失败执行?
- oracle - 使用 Cursor 的 SQL 问题 - 进行第一次交易的案例研究
- javascript - 是否可以限制本地开发服务器的上传速度?
- c++ - 在构造函数错误中将类指针作为参数传递
- python - 如何在使用 python 启动时让 selenium 登录到网站
- c++ - 我可以使 operator== virtual 来实现相等吗?
- excel - 如何将 PostgreSQL 数据库中的数据导出到 Excel 工作表?使用 vb.net 2019 windows 窗体
- sql - 基于优先级表消除重复记录
- java - 在使用 Matlab 中的库编译器打包的 java 中运行 Matlab 代码时出现库错误
- macos - 如何使用 CMake 为早期版本的 MacOS 构建二进制文件?