由于你的return是放在if里面的,所以说如果不进if那就不会return,所以编译会出错
成都创新互联公司致力于互联网网站建设与网站营销,提供网站建设、成都做网站、网站开发、seo优化、网站排名、互联网营销、成都微信小程序、公众号商城、等建站开发,成都创新互联公司网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。
在程序最后随便return 一个不正常的值就可以了比如return -1
完整代码如下
import java.util.Scanner;
public class test {
public static void main(String[] args) {
double InclassScore = Inclass();
System.out.println(InclassScore);
}
public static double Inclass() {
Scanner stdin = new Scanner(System.in);
System.out
.println("Please input how many quizzes you handed in during the class (Total 12 quizzes ) ");
double quizzes = stdin.nextDouble();
if (quizzes = 1 quizzes = 12) {
double InclassScore = (quizzes / 12) * 6;
return InclassScore;
}
if (quizzes 12) {
System.out
.println("INPUT TOO LARGE, Please input a number between 1-12");
}
if (quizzes 12) {
System.out
.println("INPUT TOO SMALL, Please input a number between 1-12");
}
return -1;
}
}
for(int counter=0;counter=students;counter++)改为for(int counter=0;counterstudents;counter++)即可。就是多了个=号而已
这个不算是简单工厂模式啦~工厂模式的思想是将类的实例化过程交给一个专门的类来进行,虽然简单工厂不是工厂模式,但也体现了这个思想
Add a = new Add();这个Add的类的实例化你还是通过new Add()实现的,所以根本没有用到简单工厂方法
将JiSuanGC这个接口改成一个类如下:
public class JiSuanGC
{
private JiSuanGC(){}
JiSuan static getJisuan(String name){
if(name.equals("add"))
return new Add();
if(name.equals("jian"))
return new jian();
if(name.equals("cheng"))
return new cheng();
if(name.equals("chu"))
return new chu();
}
}
在main函数中这样写
JiSuan a = JiSuanGC.getJisuan("add");
这样就返回了一个Add()类的实例
在调用他的方法
a.JiSuan(2,2);
完整代码:
package a;
//定义一个接口,里面有一个抽象的计算方法
public interface JiSuan
{
public int JiSuan(int x,int y);
}
//定义一个工厂,获得计算接口类型的getJisuan方法
package a;
public class JiSuanGC{
private JiSuanGC(){}
static JiSuan getJisuan(String name){
if(name.equals("add"))
return new Add();
if(name.equals("jian"))
return new jian();
if(name.equals("cheng"))
return new cheng();
if(name.equals("chu"))
return new chu();
return null;
}
}
//实体方法实现了JiSuan接口,重构了计算方法
package a;
public class Add implements JiSuan
{
public int JiSuan(int x,int y)
{
return x+y;
}
}
//实体方法实现了JiSuan接口,重构了计算方法
package a;
public class jian implements JiSuan
{
public int JiSuan(int x,int y)
{
return x-y;
}
}
}
//实体方法实现了JiSuan接口,重构了计算方法
package a;
public class cheng implements JiSuan
{
public int JiSuan(int x,int y)
{
return x*y;
}
}
//实体方法实现了JiSuan接口,重构了计算方法
package a;
public class chu implements JiSuan
{
public int JiSuan(int x,int y)
{
return x/y;
}
}
class Main
{
public static void main(String args[])
{
JiSuan a = JiSuanGC.getJisuan("add");
//往Add方法传两个参数,实现两数相加,输出结果为4
System.out.println(a.JiSuan(2, 2));
}
}
看别人的代码是一种痛苦的事情,不过只要你喜欢可以把这种痛苦的经历变成与一个陌生人的交流,看代码首先要熟悉业务,再次通过注释寻求,模块功能。其实最好的方式是你通过对某一块代码的阅读,进行绘制流程图,VISIO画起流程图来很方便,找出数据流,再加上自己的阅读的注释。
在你阅读学习的过程中,会发现其他coder的非常巧妙的做法,这是你应该庆幸,因为你在进步。阅读是必须的。 --------------个人观点仅供参考