白衣渡江lo 2021-04-11 07:15 采纳率: 66.7%
浏览 137
已采纳

请问在一个类当中,一个成员方法如何调用另外一个成员方法中的变量啊?如何修改代码

package apple;

import java.util.Scanner;

public class Dog {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        public static double m,n;
        
        // 输入四组坐标值
        
        public void getNum();
        public void count();
        public void isSquare();
        
    }

    // 三个成员方法
    // 成员方法一,输入坐标值,并进行基本判断
    public void getNum() {
        int x1, x2, x3, x4;
        int y1, y2, y3, y4;
        Scanner in = new Scanner(System.in);
        System.out.println("请输入左上角坐标值:");
        x1 = in.nextInt();
        y1 = in.nextInt();
        System.out.println("请输入左下角坐标值:");
        x2 = in.nextInt();
        y2 = in.nextInt();
        System.out.println("请输入右下坐标值:");
        x3 = in.nextInt();
        y3 = in.nextInt();
        System.out.println("请输入右上角坐标值:");
        x4 = in.nextInt();
        y4 = in.nextInt();
        in.close();
        // 判断是否在第一象限
        if (x1 > 0 & x2 > 0 & x3 > 0 & x4 > 0 & y1 > 0 & y2 > 0 & y3 > 0 & y4 > 0) {
            System.out.println("所有输入的坐标均在第一象限区域内!");
        } else {
            System.out.println("检查到有输入的坐标不属于第一象限!");
        }
        // 判断x或y值是否不大于20.0
        if (x1 > 20 | x2 > 20 | x3 > 20 | x4 > 20 | y1 > 20 | y2 > 20 | y3 > 20 | y4 > 20) {
            System.out.println("检查到有大于20的x或y值!");
        } else {
            System.out.println("输入坐标值当中所有的x和y值均不大于20!");
        }
        // 检测是否构成一个矩形
        double  p, q;
        m = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
        n = Math.sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));
        p = Math.sqrt((x3 - x4) * (x3 - x4) + (y3 - y4) * (y3 - y4));
        q = Math.sqrt((x4 - x1) * (x4 - x1) + (y4 - y1) * (y4 - y1));
        double diagonalSquare; // 定义矩形对角线变量的平方

        diagonalSquare = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);
        if (m == p & n == q & diagonalSquare == m * m + n * n) {
            System.out.println("构成矩形!");
        } else {
            System.out.println("不构成矩形");
        }

    }

    // 成员方法二,计算矩形的长宽面积和周长
    public void count() {
        double length, wide, area, circumference;
        if (m >= n) {
            length = m;
            wide = n;
        } else {
            length = n;
            wide = m;
        }
        area = length * wide;
        circumference = (length + wide) * 2;
        System.out.println("此矩形的长为  " + length + "宽为  " + wide + "面积为  " + area + "周长为  " + circumference);
    }

    // 成员方法三, 检测此矩形是否为一个特殊的正方形
    public void isSquare() {
        if (length == wide) {
            System.out.println("此矩形是一个正方形");
        } else {
            System.out.println("此矩形不是一个正方形");
        }

    }

}
 

展开全部

  • 写回答

2条回答 默认 最新

  • 一剑荒芜 2021-04-11 07:28
    关注
       public static void main(String[] args) {
            // 输入四组坐标值
            getNum();
        }
    
        // 三个成员方法
        // 成员方法一,输入坐标值,并进行基本判断
        public static void getNum() {
            double m,n;
            int x1, x2, x3, x4;
            int y1, y2, y3, y4;
            Scanner in = new Scanner(System.in);
            System.out.println("请输入左上角坐标值:");
            x1 = in.nextInt();
            y1 = in.nextInt();
            System.out.println("请输入左下角坐标值:");
            x2 = in.nextInt();
            y2 = in.nextInt();
            System.out.println("请输入右下坐标值:");
            x3 = in.nextInt();
            y3 = in.nextInt();
            System.out.println("请输入右上角坐标值:");
            x4 = in.nextInt();
            y4 = in.nextInt();
            in.close();
            // 判断是否在第一象限
            if (x1 > 0 & x2 > 0 & x3 > 0 & x4 > 0 & y1 > 0 & y2 > 0 & y3 > 0 & y4 > 0) {
                System.out.println("所有输入的坐标均在第一象限区域内!");
            } else {
                System.out.println("检查到有输入的坐标不属于第一象限!");
            }
            // 判断x或y值是否不大于20.0
            if (x1 > 20 | x2 > 20 | x3 > 20 | x4 > 20 | y1 > 20 | y2 > 20 | y3 > 20 | y4 > 20) {
                System.out.println("检查到有大于20的x或y值!");
            } else {
                System.out.println("输入坐标值当中所有的x和y值均不大于20!");
            }
            // 检测是否构成一个矩形
            double  p, q;
            m = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
            n = Math.sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));
            p = Math.sqrt((x3 - x4) * (x3 - x4) + (y3 - y4) * (y3 - y4));
            q = Math.sqrt((x4 - x1) * (x4 - x1) + (y4 - y1) * (y4 - y1));
            double diagonalSquare; // 定义矩形对角线变量的平方
    
            diagonalSquare = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);
            if (m == p & n == q & diagonalSquare == m * m + n * n) {
                System.out.println("构成矩形!");
            } else {
                System.out.println("不构成矩形");
            }
            // 调用count 方法
            count(m, n);
        }
    
        // 成员方法二,计算矩形的长宽面积和周长
        public static void count(double m, double n) {
            double length, wide, area, circumference;
            if (m >= n) {
                length = m;
                wide = n;
            } else {
                length = n;
                wide = m;
            }
            area = length * wide;
            circumference = (length + wide) * 2;
            System.out.println("此矩形的长为  " + length + "宽为  " + wide + "面积为  " + area + "周长为  " + circumference);
            // 调用方法isSquare
            isSquare(length, wide);
        }
    
        // 成员方法三, 检测此矩形是否为一个特殊的正方形
        public static void isSquare(double length, double wide) {
            if (length == wide) {
                System.out.println("此矩形是一个正方形");
            } else {
                System.out.println("此矩形不是一个正方形");
            }
    
        }
    

    试试

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    白衣渡江lo 2021-04-11 07:56

    三克油

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部