首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何解决Java中的“main”java.util.InputMismatchException?

如何解决Java中的“main”java.util.InputMismatchException?

提问于 2020-06-08 21:31:17
回答 0关注 0查看 199

我在运行程序的时候发现了一个错误:

我的代码是:

import java.util.Scanner;

public class eee {

public static void main(String args[])

{ System.out.println("请输入最大容量,最大缺额,次数,从高到低的动作频率");

getp a=new getp();

double pmax;

double pqn;

int n;

double f;

double pn;

double f2;//恢复频率

double p3;

Scanner sc = new Scanner(System.in); //输入各数值

pmax = sc.nextDouble();

Scanner ss = new Scanner(System.in);

pqn = ss.nextDouble();

Scanner sw = new Scanner(System.in);

n = sw.nextInt();

for(int c=0;c<n;c++)

{

Scanner sa = new Scanner(System.in);

a.m[c] = sa.nextDouble();

}

pn=pqn/pmax;

f2=a.getf2(pn, n);

if(f2!=0)

{

System.out.println("恢复频率为"+f2);

p3=a.getp2(pmax,pn,n,f2);

}

}

}

class getp

{

public double[] m = new double[ 100 ];

public double getf2(double pn,int n)

{

double p3=0;//中间变量;

double p4=0;

double p=1;//按f算出的断开功率

double p2=2;//按pn算出的总的减负荷功率

double f;//f为恢复频率

for(f=48;p3-p2>0.01||p2-p3>0.01;f=f+0.1)

{

p3=0;

p4=0;

if(f>=50)

{

System.out.println("无法用减负荷调节");

f=0;

break;

}

for(int x=0;x<n;x++)

{

if(x==0) p=2*(f-m[x])/(50-2*(50-f));

else p=2*(f-m[x])/(50-2*(50-f))*(1-p3);

p3=p4+p;

p4=p3;

}

p2=(pn-4*(50-f)/50)/(1-2*(50-f)/50);

}

return f;

}

public double getp2(double pp,double pn,int n,double f)

{

double p3=0;//中间变量;

double p4=0;

double p=1;//按f算出的断开功率

double p2=2;//按pn算出的总的减负荷功率

for(int x=0;x<n;x++)

{

if(x==0) p=2*(f-m[x])/(50-2*(50-f))*pp;

else p=2*(f-m[x])/(50-2*(50-f))*(pp-p3);

System.out.println("第"+(x+1)+"次的断开功率为"+(p)+"w");

p3=p4+p;

p4=p3;

}

p2=(pn-4*(50-f)/50)/(1-2*(50-f)/50)*pp;

System.out.println("理论总断开应为"+p2+"w");

return p3*100;

}

}

请问如何解决这个问题呢

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档