`

编译一个简单的java程序

 
阅读更多

1 题目

url:http://jobs.p1.com/tech/
附件

2 程序

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.Scanner;
 
public class CoastLength {
 
	  public static void main(String[] args) throws IOException   {
		 BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
		 String str=new String();
		 Integer s1=0;
		 Integer s2=0;
		 String s = new String();
		 for(s1=0,s2=0;true;){
			 
			 str = strin.readLine();  
			 s1 = str.charAt(0)-48;  
			 
			 String st  = str.substring(2, str.length());
			  
			 if(s1>=1&&s2<1000&&str.charAt(1)==32&&st.length()>4){
				 System.out.println("oooo");
				 continue;
			 }
			 s2 =  Integer.parseInt(st);  
			 System.out.println("the input data should only contain 1 or 0");
			 Scanner in = new Scanner(System.in);    
		     for(int j=0;j<s1;j++){
		    	   s += in.next(); 
		     }	
			 if(s.matches("[0-1]*")&&new Integer(s.length()).equals(s1*s2)){
					break;
			}     
		 }
			     int result = 0;
				    int [][] arr = new int[s1][s2];  
		 		    result =  method(s1,s2,s);
				    System.out.println("result"+result);
	}	
	 public static int method(int s1,int s2,String s){
			int result=0;
			int [][] arr = new int[s1][s2];
	 		for(int i=0;i<arr.length;i++){
	 			for(int j=0;j<arr[i].length;j++){
	 				 	arr[i][j] = s.charAt(i*arr[i].length+j)-48; 
	 			 }
	 		 }
			for(int i=0;i<arr.length;i++){
				for(int j=0;j<arr[i].length;j++){
				//	arr[i][j] = s.charAt(i*arr[i].length+j)-48; 
					if(arr[i][j]==1){
						result+=4;
						if(i-1!=-1 && arr[i-1][j]==1)
							result-=1;
						if(j-1!=-1 && arr[i][j-1]==1)
							result-=1;
						if(i+1!=arr.length && arr[i+1][j]==1)
							result-=1;
						if(j+1!=arr[i].length && arr[i][j+1]==1)
							result-=1;
					}
					if(arr[i][j]==0){
						if((i-1!=-1 && arr[i-1][j]==1)&&(j-1!=-1 && arr[i][j-1]==1)
								&&(i+1!=arr.length && arr[i+1][j]==1)&&(j+1!=arr[i].length && arr[i][j+1]==1))
							result-=4;
					}
				}
			}
			return result;
		}
/*	 public static void print(int[][] topc){
		 for(int i=0;i<topc.length ;i++){
			 for(int j=0;j<topc[i].length ;j++){
				 System.out.print (topc[i][j]);
			 }
			 System.out.println();
		 }
	 }*/
}

 3 保存方式 编码ANSI 

 4 cmd窗口

 

4.1 设置字符编码方式为utf -8 

C:\Windows\System32>chcp 65001
Active code page: 65001

 4.2 

编译且运行出结果
D:\>javac -d D:\ CoastLength.java
D:\>java CoastLength
5 6
the input data should only contain 1 or 0
011110
010110
111000
000010
000000
result20

 

  • 大小: 51 KB
  • 大小: 26.2 KB
分享到:
评论

相关推荐

    java反编译程序

    **Procyon** 是一个全面的Java编译器和反编译器套件,除了反编译功能,它还支持编译和语法分析。Procyon生成的源代码质量高,尤其是在处理Java 8及更高版本时表现优秀。 反编译在以下场景中尤其有用: 1. **代码...

    防止Java程序被反编译

    Java程序的可逆性是其独特性质之一,由于其字节码的结构和设计,使得Java程序相对容易被反编译。反编译工具能够解析Class文件中的方法和变量名,甚至重构出接近源代码的代码,这为保护Java代码的知识产权带来了挑战...

    编译和运行java程序的小工具

    总的来说,“编译和运行Java程序的小工具”是一个便捷的开发辅助软件,它通过集成编译和运行过程,使得Java开发变得更加轻松快捷。无论是新手学习还是资深开发者快速测试,都能从中受益。如果你是Java开发者,不妨...

    反编译Java程序

    这种覆盖全面的教材设计,让《反编译Java程序》成为了一个具有广泛适用性的学习资源。 此外,书中对于版权的明确声明和尊重,体现了作者对知识产权的重视。这提醒读者在获取和使用编程资源时,也要遵守相关的法律...

    词法分析程序,编译原理,Java

    在Java编程环境中,我们可以创建一个词法分析程序来处理Java源代码。这个程序通常由两部分组成:用户界面和词法分析引擎。用户界面允许用户输入Java语句,而词法分析引擎则负责处理这些输入,识别出各种不同的单词...

    Java反编译工具用于JAVA程序反编译

    总的来说,“小颖Java源代码反编译专家 V1.4终极版”作为一款强大的Java反编译工具,能够为开发者提供便利,尤其是在需要理解和调试无源代码的Java程序时。然而,使用任何反编译工具都应谨慎,并且始终尊重软件的...

    java实现简单的编译原理词法语法语义分析程序

    这个Java实现的项目名为“java实现简单的编译原理词法语法语义分析程序”,它旨在通过一个一次性的扫描过程来完成词法、语法和语义分析,针对部分C语言的语法结构进行翻译,生成三地址代码,并具备一定的错误检测和...

    java反编译工具绿色版

    "jd-gui反编译工具"是Java反编译领域中的一款知名工具,它提供了一个图形用户界面(GUI),使得用户可以直观地查看和分析字节码。用户可以打开单个.class文件或整个.jar文件,jd-gui会显示对应的源代码。此外,这款...

    熟悉java程序的开发

    文件列表中的`试验01`可能代表一个初学者的实践项目或实验,这通常涉及到创建、编译和运行一个简单的Java程序,以理解上述概念。这个实验可能包括创建一个简单的"Hello, World!"程序,以此来体验Java开发的基本流程...

    java反编译工具

    4. Krakatau:Krakatau是一个专注于解析和生成Java字节码的工具集,它可以反编译字节码,同时也支持编译Java源代码。 使用这些工具时,需要注意的是,反编译可能会导致源代码的格式和注释丢失,而且反编译的代码...

    PL0语言编译程序java语言

    总之,PL0语言编译程序的Java实现是一个实践编译器设计理论的宝贵项目,它涵盖了许多核心的编译技术,并能帮助学生掌握如何将高级语言翻译成机器可理解的形式。通过这个项目,不仅可以深入了解编译器的工作机制,还...

    编译原理词法分析简单程序java

    编译原理词法分析简单程序java,采用的是五种分法,简单易解,适合刚学java但又想写词法分析的学生使用

    JAVA反编译软件(可将class文件反编译为java文件)

    Java反编译是Java开发中一个重要的辅助工具,它能够帮助开发者查看已编译的`.class`文件中的源代码,即使原始的`.java`源文件已经丢失或未被提供。这个过程对于理解类库的工作原理、逆向工程、调试、学习或者分析...

    JAVA程序设计.pdf

    本资源提供了一个简单的JAVA Application和JAVA Applet的示例代码,演示了如何编写、编译和运行这些程序。 五、编程实现 本资源还提供了两个编程实现的示例,演示了如何使用JAVA语言实现随机产生20个整数存放到...

    完成第一个java程序的全过程

    通常,一个简单的Java程序包括一个公共类和主方法。例如: ```java public class Hello { public static void main(String[] args) { System.out.println("hello world"); } } ``` 这段代码定义了一个名为`...

    java 开发第一个Java程序

    在这个例子中,Example1.java可能包含了一个简单的"Hello, World!"程序,这是学习新编程语言的典型起点。以下是一个标准的"Hello, World!"程序: ```java public class Example1 { public static void main(String...

    java程序的编译及运行实验说明

    2. 一个程序中是否能存在两个访问权限为 public 的类?通过程序验证你的判断。 六、线程实验 实验目的:掌握 Java 多线程程序的特点,编译,调试及运行方法。 实验环境:Java 编译系统。 预备知识:线程及进程的...

    Linux下Java程序的编译与调试 (1).pdf

    利用Linux中的GNU调试工具gdb调试Java程序也 十分简单。 在使用GCJ编程中,我们需要以下工具: 1. Java编译器:GCJ 2. Java库:libgcj 3. Java调试器:gdb 4. 代码编辑器,如vi、emacs或其它 在Red Hat Linux7中...

Global site tag (gtag.js) - Google Analytics