永发信息网

java 急需解答

答案:4  悬赏:40  手机版
解决时间 2021-03-06 02:49
  • 提问者网友:聂風
  • 2021-03-05 07:17
java 急需解答
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-03-05 08:44
public class May2{
public static void main(String[] args){
int i=1;
while(i<=6){
xMethod(i,2);
i++;
}
}
public static void xMethod(int i,int num){
for (int j=1;j<=i;j++){
System.out.print(num+" ");
num*=2;
}
System.out.println();
}
}这个第二段代码没有任何问题,可以正常运行,逻辑也正确。

第一段代码单纯从语法上讲public static void max(int v1,int v2.int max){这一行有个标点有问题,v2后面应该是“,”,而不应该是“.”,其它没有问题,改掉标点后也可以正常编译和运行;但从逻辑上讲,
public static void max(int v1,int v2.int max){
if (v1>v2)
max=v1;
else
max=v2;
}
这个方法没有任何意义,把数字2赋值给数字0,没有任何意义。
如果你是想比较两个数字的大小,应该写成:
public static int max(int v1,int v2){
if (v1>v2)
return v1;
else
return v2;
}
然后Main方法中调用 改成max = max(1,2);追问第二段是有问题的,运行的答案是成三角形,但事实要一行答案就行了追答关键你的题目 没有要求成三角形,这段代码可能只是达不到你的需求而已,我是说语法和逻辑没有错。不知道你的成三角形是什么意思?能否画图出来?

亲,记得采纳哦!
全部回答
  • 1楼网友:零点过十分
  • 2021-03-05 12:21

你好:
    May.java存在一些问题;可以改成:
public class May {
public static void main(String[] args) {
int max = max(1, 2);
System.out.println(max);
}
public static int max(int v1, int v2) {
return v1 > v2?v1:v2;
}
}追问这个可以运行吗?追答可以的,谢谢,方法二要一行的话把System.out.println();改成System.out.print("\t");
v1 > v2?v1:v2是三目运算符,要学会
  • 2楼网友:一秋
  • 2021-03-05 11:44
首先写法不规范,每下一级都用用tab缩进一下, 程序还没有仔细看, 如果你这两个类写在一个java文件中就会报错,因为两个类都是public的,一个java文件只能有一个public的类,并且这个类类名必须和文件名一致,你要么写成两个类 要么把不和文件名一致的类的public去掉,如果不是这个问题再仔细检查代码。
  • 3楼网友:撞了怀
  • 2021-03-05 10:09
第一个给你修改了,好多个错误,第二个好像没什么问题吧
public class May{
public static void main(String[] args){
int max=0;
max=max(1,2,max);
System.out.println(max);}
public static int max(int v1,int v2,int max)
{
if (v1>v2) max=v1;
else max=v2;
return max;
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯