Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序使用while循环将其更改为使用方法_Java_Loops_Methods - Fatal编程技术网

Java程序使用while循环将其更改为使用方法

Java程序使用while循环将其更改为使用方法,java,loops,methods,Java,Loops,Methods,我是计算机科学一年级的学生,遇到了一些问题。我们被要求使用循环编写一个简单的银行程序,然后被要求使用方法编写相同的程序。我目前一直在把它改成一个方法程序 这是我的循环程序 import java.util.Scanner 公共类程序6 { 公共静态void main(字符串[]args) { 扫描仪标准输入=新扫描仪(System.in); String act=“MUSH”; 双倍余额=0.0; 双inc=0.0; while(扮演角色(0)!='Q') { 系统输出打印((字符)27+“[2

我是计算机科学一年级的学生,遇到了一些问题。我们被要求使用循环编写一个简单的银行程序,然后被要求使用方法编写相同的程序。我目前一直在把它改成一个方法程序

这是我的循环程序

import java.util.Scanner

公共类程序6 { 公共静态void main(字符串[]args) { 扫描仪标准输入=新扫描仪(System.in); String act=“MUSH”; 双倍余额=0.0; 双inc=0.0; while(扮演角色(0)!='Q') { 系统输出打印((字符)27+“[2J”); System.out.print(“###这是一家银行###\nD-存款\nW-取款\nI-利息\nB-余额\nQ-退出\n\n操作:”); act=stdIn.next(); act=act.toUpperCase(); 开关(动作特征(0)) { 案例“D”: 系统输出打印((字符)27+“[2J”); 系统输出打印(“存款金额:”; inc=stdIn.nextDouble(); 而(inc<0) { System.out.print(“存款必须为非负数,请重试:”; inc=stdIn.nextDouble(); } bal+=公司; 打破 案例“W”: 系统输出打印((字符)27+“[2J”); 系统输出打印(“提取多少?:”; inc=stdIn.nextDouble(); 而(inc<0) { System.out.print(“必须是非负片,请重试:”; inc=stdIn.nextDouble(); } while(inc>bal) { System.out.print(“资金不足,请尝试较低的金额:”); inc=stdIn.nextDouble(); } bal-=公司; 打破 案例“I”: 系统输出打印((字符)27+“[2J”); inc=bal*.04; bal+=公司; 系统输出打印(“应计利息:$”+inc +“按回车键返回菜单。”); stdIn.nextLine(); stdIn.nextLine(); 打破 案例“B”: 系统输出打印((字符)27+“[2J”); 系统输出打印(“余额=$”+bal+“按回车键返回菜单”); stdIn.nextLine(); stdIn.nextLine(); 打破 案例‘Q’: 系统输出打印((字符)27+“[2J”); 打破 违约: System.out.print(“输入无效,请重试:”); 打破 } } } }
我想我应该为
getbalence
取款
存款
利息
但我不清楚我该怎么做

如果我没有提供我应该知道的其他信息,我很抱歉


我真的很期待看到你的回答!

好的,我先开始

static void deposit(Scanner stdIn) {
   System.out.print((char)27 + "[2J");
   System.out.print("Deposit how much?:"); 
   inc = stdIn.nextDouble();
   while (inc < 0){ 
      System.out.print("Deposits must be non-negative. Please try again:");
      inc = stdIn.nextDouble();
   }
   bal += inc;
}
我所做的是,获取一个完整的、可重用的函数,并从中生成一个方法。在switch语句中的代码中,我将其替换为对该方法的调用。这使代码更易于阅读、调试和维护,因为所有内容都很好地分开

您应该能够自己完成应用程序的其余部分


我还想说的是,从一个主方法完成这一切并调用静态方法是一种不好的做法。创建对象来表示您的银行会更好,但我只是扩展了您已经得到的,并且不想在一开始就为您过度复杂化。

好的,我将开始介绍

static void deposit(Scanner stdIn) {
   System.out.print((char)27 + "[2J");
   System.out.print("Deposit how much?:"); 
   inc = stdIn.nextDouble();
   while (inc < 0){ 
      System.out.print("Deposits must be non-negative. Please try again:");
      inc = stdIn.nextDouble();
   }
   bal += inc;
}
我所做的是,获取一个完整的、可重用的函数,并从中生成一个方法。在switch语句中的代码中,我将其替换为对该方法的调用。这使代码更易于阅读、调试和维护,因为所有内容都很好地分开

您应该能够自己完成应用程序的其余部分


我还想说,从一个主方法完成这一切并调用静态方法是一种不好的做法。创建对象来表示您的银行会更好,但我只是扩展了您已经得到的,不想在一开始就为您过度复杂化。

+1,可能会要求他们在以后的课程中考虑对象这门课。我希望如此!当Java课程在解释对象的作用之前先从“如何做事情”开始时,这让我很担心。这就像说“这是如何骑自行车,但忽略你所学的一切,从现在起我们将使用摩托车”是的,我的学校是这样建立的,下学期我将使用对象。我完全同意你的观点,我们学习如何编程,但我觉得我们缺少了“理论”的一个主要部分关于程序,关于编程+1的这种方法,可能会要求他们在课程的后面思考对象。我希望如此!当Java课程在解释对象的作用之前先从“如何做事情”开始时,我很担心。这就像说“这是如何骑自行车,但忽略你所学的一切,从现在起我们将使用摩托车”是的,按照我学校的设置方式,我下学期将使用物体。我完全同意你的看法,我们学习如何编程,但我觉得我们缺少了“理论”的一个主要部分“的程序,进行这种编程方法
switch (act.charAt(0)){
  case 'D': 
     deposit(stdIn);
     break;
  case 'W': 
     // the rest of your code