public class Anli1 { public static void main(String[] args) { double res = jp(double 2000.9, int 10, String "头等舱"); System.out.println(res); } public static double jp(double jg, int yf, String type) { if (yf >= 4 && yf <= 11) { switch (type) { case "经济舱": jg *= 0.75; break; case "头等舱": jg *= 0.8; break; } } else if (yf == 12 || yf >= 1 && yf <= 3) { switch (type) { case "经济舱": jg *= 0.85; break; case "头等舱": jg *= 0.9; break; } } return jg; } }报错
时间: 2024-02-10 17:17:11 浏览: 25
在该代码中,调用 `jp` 方法时,参数的类型和格式应该为:
```java
double res = jp(2000.9, 10, "头等舱");
```
即不需要在参数前面加上类型名称,也不需要在字符串参数前面加上 `String` 关键字。此外,如果该代码仍然报错,您可以将错误信息提供给我,以便我更好地帮助您解决问题。
相关问题
public class Anli1 { public static void main(String[] args) { Scanner n = new Scanner(System.in); System.out.println("输入机票价格:"); double u = n.nextDouble(); Scanner o = new Scanner(System.in); System.out.println("输入月份:"); int m = o.nextInt(); Scanner p = new Scanner(System.in); System.out.println("舱位:"); String j = p.next(); double res = jp(u, m, j); System.out.println("机票价格:" + res); }用户键盘输入类型不对,怎么判断并让用户重新输入
在这个代码中,如果用户输入的类型不对,可以使用try-catch语句来捕获异常,并提示用户重新输入。具体的做法如下:
```java
public static void main(String[] args) {
Scanner n = new Scanner(System.in);
double u = 0;
boolean flag = true;
while (flag) {
try {
System.out.println("输入机票价格:");
u = n.nextDouble();
flag = false;
} catch (InputMismatchException e) {
System.out.println("机票价格输入类型不正确,请重新输入!");
n.nextLine(); // 清空缓存
}
}
Scanner o = new Scanner(System.in);
int m = 0;
flag = true;
while (flag) {
try {
System.out.println("输入月份:");
m = o.nextInt();
flag = false;
} catch (InputMismatchException e) {
System.out.println("月份输入类型不正确,请重新输入!");
o.nextLine(); // 清空缓存
}
}
Scanner p = new Scanner(System.in);
String j = "";
System.out.println("舱位:");
j = p.next();
double res = jp(u, m, j);
System.out.println("机票价格:" + res);
}
```
上面的代码中,我们使用了while循环和flag变量来保证用户重新输入,直到输入类型正确为止。当用户输入类型不正确时,会抛出InputMismatchException异常,我们可以使用catch语句来捕获这个异常,并提示用户重新输入。在重新读取输入之前,需要先清空缓存,否则会出现死循环。使用scanner.nextLine()方法可以清空缓存,然后再使用scanner.nextDouble()或scanner.nextInt()方法重新读取输入。
public class Anli2 { public static void main(String[] args) { // Scanner t = new Scanner(System.in); // int i = t.nextInt(); System.out.println(f(5)); } public static String f(int a) { Random s = new Random(); String cout = ""; for (int i = 0; i < a; i++) { int w = s.nextInt(); if (w>0 && w<= 9){ w = (char) ((char) s.nextInt(75) + 48); cout += w; } } return cout; } }没有打印内容
在你的代码中,你调用了 `System.out.println(f(5))` 来输出一个字符串,但是你的 `f` 方法内部存在问题,导致 `f` 方法返回的字符串为空。具体来说,以下两行代码有问题:
```
if (w>0 && w<= 9){
w = (char) ((char) s.nextInt(75) + 48);
```
第一行中,`w` 变量是用来保存生成的随机数的,但是它的取值范围是 `-2147483648` 到 `2147483647`,并不是 1 到 9。因此,你需要修改这个条件,让它只保留 1 到 9 的随机数。
第二行中,你将 `w` 变量重新赋值为一个字符,这显然是错误的。因为你要生成一个随机的数字字符,应该使用 `48` 到 `57` 之间的随机数,然后将它转换成字符类型。具体来说,你可以使用 `(char) (s.nextInt(10) + 48)` 来生成随机的数字字符。
修正后的代码应该如下所示:
```
public class Anli2 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static String f(int a) {
Random s = new Random();
String cout = "";
for (int i = 0; i < a; i++) {
int w = s.nextInt(9) + 1;
char z = (char) (w + 48);
cout += z;
}
return cout;
}
}
```
这个代码会生成一个长度为 5 的随机数字串,并将其输出到控制台上。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>婚庆</title> </head> <body style=" background:#fff;">
主页 服务 资讯 案例 登陆 注册
注册 <form class="form" action="denglu.html"> 账 号: <input type="text" class="phone" placeholder="请输入账号"> 密 码: <input type="password" class="phone" placeholder="请输入密码"> 确认密码: <input type="password" class="phone" placeholder="请输入密码">
<button> 注册</button>
</form>
</body> </html>
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)