查找整数(蓝桥)

文章讨论了蓝桥杯比赛与LeetCode在线编程平台在编写代码上的区别,重点在于main函数和构造函数的使用。在蓝桥杯中,需要完整实现代码,包括main函数,而LeetCode仅需提供问题的核心解决方案。文章提到了return语句的使用限制,以及如何正确调用非静态方法。此外,还强调了数组length属性与字符串length方法的使用区别。
摘要由CSDN通过智能技术生成

蓝桥杯和leetcode的区别还是挺明显的,leetcode不需要从main函数写起,只需要写代码的主要实现部分,但是蓝桥杯要求整个代码的实现

这道题主要在于return的使用在main函数中是不被允许的

因此我们需要把return剥离到另一个方法中(如果不用return应该也能做出来,但是不如return简单)

组合写main函数以及构造函数的注意事项有

1、return后的值不是直接能输出的,还是需要调用该函数,函数返回值的意思就是f(x)=return值,如果输出该return,还是要用System.out.println(sol.findFirst(nums,tag));

2、main函数输入到构造函数的值,其符号表示可相同可不同,不必在意;

3、Main sol = new Main();
        int res = sol.findFirst(nums,tag);

我们是无法直接调用findFirst构造函数,

如果使用  int res = findFirst(nums,tag);   

会出现错误:无法从静态上下文中引用非静态方法 findFirst(int[],int)

因为非静态方法不是独立存在的,所以我们需要先申明对象,再通过对象调用

所以用Main sol = new Main();

再使用int res = sol.findFirst(nums,tag);即可

4、数组的length不是方法,因此不用括号,使用nums.length表示即可

而字符串的length是方法,因此需要括号,使用时要用str.length()表示

import java.util.*;

public class Main{

	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
	  int n = sc.nextInt();
		sc.nextLine();
		int[] nums = new int[n];
		for(int i=0;i<n;i++)
		{
		  nums[i] = sc.nextInt();
		}
		sc.nextLine();
		int tag = sc.nextInt();
		Main sol = new Main();
		//int res = sol.findFirst(nums,tag); System.out.println(res);
		System.out.println(sol.findFirst(nums,tag));
	}
	public int findFirst(int[] nums,int tag){
		for(int i=0;i<nums.length;i++){
		if(nums[i] == tag){
			return i+1; 
		 }	
		}
		return -1;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值