java函數調用,java函數調用數組

本文目錄一覽:

JAVA中定義了函數,有返回值,怎麼調用?

你可以這樣理解add(a,b)中向ab傳值,在方法add中處理ab 然後得出一個數,例如sum = a+b;,然後這個方法就返回這個數,當然這個數的類型是你定義的。然後在某個地方你要用到這個sum,你就可以這樣用 Sums = add(a,b);可以這樣用,其實有返回類型的方法你可以認為它就是一個值來用就行了。\x0d\x0a\x0d\x0apublic static void main(String args[]){\x0d\x0a System.out.println(“add(a,b)當a=1,b=2的時候,a+b的值為”+add(1,2));//有返回類型的方法可以直接看成是一個值\x0d\x0a\x0d\x0a}

java中的函數調用怎麼理解?

函數調用可以理解為:

你想去買一樣東西,這時,可能會叫你的秘書去幫你買它。

您的秘書可能不熟悉市場,這時她委任採購部門去幫她購買你需要的東西。

不好意思,昨天有事匆忙留下一段,還有一段沒有完成。。。

在JAVA中怎麼使用 什麼時候能用到?

我就大致的回答一下吧。如果不合心意,還請諒解!

OOP強調低耦合,高內聚。單一職責原則。還有許多模式以及原則,使你的系統富有彈性,易於擴展,修改,維護。

內聚就是一個模塊內各個元素彼此結合的緊密程度,高內聚就是一個模塊內各個元素彼此結合的緊密程度高。

所謂高內聚是指一個軟體模塊是由相關性很強的代碼組成,只負責一項任務,也就是常說的單一責任原則。

耦合:一個軟體結構內不同模塊之間互連程度的度量(耦合性也叫塊間聯繫。指軟體系統結構中各模塊間相互聯繫緊密程度的一種度量。模塊之間聯繫越緊密,其耦合性就越強,模塊的獨立性則越差,模塊間耦合的高低取決於模塊間介面的複雜性,調用的方式以及傳遞的信息。) 對於低耦合,粗淺的理解是:

一個完整的系統,模塊與模塊之間,儘可能的使其獨立存在。

也就是說,讓每個模塊,儘可能的獨立完成某個特定的子功能。

模塊與模塊之間的介面,盡量的少而簡單。

如果某兩個模塊間的關係比較複雜的話,最好首先考慮進一步的模塊劃分。

這樣有利於修改和組合。[1]

引用:

代碼的話,我就不多說了。自己估量估量,就知道是怎麼回事了。

java 在主函數中調用函數的方法

調用方法:先生成一個對象,用「對象.方法()」的方式調用。

調用說明:java中的main方法是靜態的,用於程序的入口,在靜態方法中無法調用非靜態方法,只能調用靜態方法。想調用靜態方法的話就要先生成該類的一個對象,通過對象調用非靜態方法。

調用舉例:

public class A{

public static void main(String[] args){

A a = new A();

a.aaa();

}

public void aaa(){}

}

怎樣通過Java調用自己編寫的R函數?

Java調用R,就是使用JRI.jar中的Api,執行一條R語言命令,當然首先你要了解R語言的語法。\x0d\x0a1.JRI中主要的API\x0d\x0aRengine R引擎,通過它進行R語言的啟動、運算、畫圖、關閉等功能。\x0d\x0a一個線程只能實例化一次,推薦使用單例模式。\x0d\x0a實例化代碼:\x0d\x0aRengine engine = new Rengine(null,false,null);\x0d\x0aRengine.versionCheck() //R版本校驗,返回true:版本校驗通過 返回false:版本校驗未通過\x0d\x0aengine.waitForR() //R載入校驗,返回true:載入成功 返回false:載入失敗\x0d\x0aengine.end() //結束R,在後續沒有調用R的情況下使用,否則R將退出,不能繼續使用R。\x0d\x0a\x0d\x0a2.REXP\x0d\x0aR計算結果表達式\x0d\x0aREXP rexp = engine.eval_r(String str) //執行R命令,返回結果REXP\x0d\x0arexp.asInt() rexp.asDouble() rexp.as.. //將REXP轉成java類型\x0d\x0aengine.assign(String name,double d) //定義R變數,name為R中變數的名字\x0d\x0a\x0d\x0a以上大概了解了JRI的基本API,下面寫個簡單的例子。\x0d\x0a//求n個數的最大值\x0d\x0aRengine engine = new Rengine(null,false,null);\x0d\x0aint[] arr = new int[]{-1,2,1,-3,5,4,-2};\x0d\x0aengine.assign(“x”,arr);\x0d\x0aREXP rexp = engine.eval_r(“max(x)”);\x0d\x0aint max = rexp.asInt();\x0d\x0aSystem.out.println(max);\x0d\x0aengine.end();

JAVA如何調用C函數

要在java中調用c語言的庫,需要使用Java提供了JNI。\x0d\x0a舉例說明\x0d\x0a在c語言中定義一個voidsayHello()函數(列印HelloWorld);然後在Java中調用這個函數顯示HelloWord.\x0d\x0a現在分別從Java和C語言兩部分說明:\x0d\x0a1.Java部分\x0d\x0a首先定義一個HelloNative,在其中申明sayHello函數,函數要申明為Native類型的.如下:\x0d\x0apublicclassHelloNative{\x0d\x0apublicnativevoidsayHello();\x0d\x0a}\x0d\x0a\x0d\x0a編譯這個類,生成class文件:\x0d\x0ajavacHelloWorld.java\x0d\x0a\x0d\x0a利用javah生成需要的h文件\x0d\x0ajavahHelloNative\x0d\x0a\x0d\x0a生成的h文件大概如下:\x0d\x0a\x0d\x0a/*DONOTEDITTHISFILE-itismachinegenerated*/\x0d\x0a#include\x0d\x0a/*HeaderforclassHelloNative*/\x0d\x0a\x0d\x0a#ifndef_Included_HelloNative\x0d\x0a#define_Included_HelloNative\x0d\x0a#ifdef__cplusplus\x0d\x0aextern”C”{\x0d\x0a#endif\x0d\x0a/*\x0d\x0a*Class:HelloNative\x0d\x0a*Method:sayHello\x0d\x0a*Signature:()V\x0d\x0a*/\x0d\x0aJNIEXPORTvoidJNICALLJava_HelloNative_sayHello\x0d\x0a(JNIEnv*,jobject);\x0d\x0a\x0d\x0a#ifdef__cplusplus\x0d\x0a}\x0d\x0a#endif\x0d\x0a#endif\x0d\x0a\x0d\x0a可以看一下上面自動生成的程序,程序include了jni.h,這個頭文件在$JAVA_HOME下的include文件夾下.還可以發現生成的函數名是在之前的函數名前面加上了Java_HelloNative。\x0d\x0a2.C語言部分\x0d\x0a根據上面生成的h文件編寫相應的代碼實現,建立一個HelloNative.cpp用來實現顯示HelloWorld的函數.如下:\x0d\x0a\x0d\x0a#include\x0d\x0a#include”HelloNative.h”\x0d\x0a\x0d\x0aJNIEXPORTvoidJNICALLJava_HelloNative_sayHello(JNIEnv*,jobject)\x0d\x0a{\x0d\x0aprintf(“HelloWorld!\n”);\x0d\x0a}\x0d\x0a\x0d\x0a代碼編寫完成之後,我們再用gcc編譯成庫文件,命令如下;\x0d\x0agcc-fPIC-I/usr/lib/jvm/java-7-openjdk-i386/include-I/usr/lib/jvm/java-7-openjdk-i386/include/linux-shared-olibHelloNative.soHelloNative.cpp\x0d\x0a\x0d\x0a這樣就會在當前目錄下生成一個libHelloNative.so的庫文件.這時需要的庫已經生成,在C語言下的工作已經完成了.\x0d\x0a接下來需要在Java中編寫一個程序測試一下.在程序前,需要將我們的庫載入進去.載入的方法是調用Java的System.loadLibrary(“HelloNative”);\x0d\x0a\x0d\x0apublicclassTestNative\x0d\x0a{\x0d\x0astatic{\x0d\x0atry{\x0d\x0aSystem.loadLibrary(“HelloNative”);\x0d\x0a}\x0d\x0acatch(UnsatisfiedLinkErrore){\x0d\x0aSystem.out.println(“Cannotloadhellolibrary:\n”+e.toString());\x0d\x0a}\x0d\x0a}\x0d\x0apublicstaticvoidmain(String[]args){\x0d\x0aHelloNativetest=newHelloNative();\x0d\x0atest.sayHello();\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a但是再編譯後,運行的時候,問題又出現了.\x0d\x0aCannotloadhellolibrary:\x0d\x0ajava.lang.UnsatisfiedLinkError:noHelloNativeinjava.library.path\x0d\x0aExceptioninthread”main”java.lang.UnsatisfiedLinkError:HelloNative.sayHello()V\x0d\x0aatHelloNative.sayHello(NativeMethod)\x0d\x0aatTestNative.main(TestNative.java:13)\x0d\x0a\x0d\x0a載入庫失敗,但是庫明明就是放在當前文件夾下的,怎麼會載入失敗呢?\x0d\x0a用System.getProperty(“java.library.path”)查看,發現java.library.path中並不u存在當前的目錄.主要有以下的幾個解決辦法:\x0d\x0a1)將生成的庫複製到java.library.path有的路徑中去,當然這樣不是很好\x0d\x0a2)設置環境變數exportLD_LIBRARY_PATH=.:$LD_LIBRARY_PATH,將當前的目錄加入到LD_LIBRARY_PATH中\x0d\x0a3)設置java的選項,將當前的目錄加入到其中.java-Djava.library.path=.$LD_LIBRARY_PATH\x0d\x0a這樣之後程序就能夠成功的運行了.可以看見顯示的”HelloWorld!”了

java怎麼在一個函數里調用另一個函數的數組

import java.util.Scanner;

interface getGrade{

public void finGrade();

}

class First implements getGrade{

int a[];

public First(){}

public First(int grade[]){

a=grade.clone();

}

public void finGrade(){

int sum;

for (int i=0;i=4;i++)

{

sum=sum+a[i];

}

int num;

num=sum/5;

System.out.println(“平均636f70793231313335323631343130323136353331333335313736成績為:”+num);

}

};

class Second implements getGrade{

int a[];

public Second(){}

public Second(int grade[]){

a=grade.clone();

}

public void finGrade(){

int j,k,t;

for (j=1;j5;j++)

for (k=0;k5-j;k++)

if (a[k]a[k+1])

{

t=a[k];

a[k]=a[k+1];

a[k+1]=t;

}

a[0]=0;

a[4]=0;

int sun;

for (int i=0;i=4;i++)

{

sun=sun+a[i];

}

int nun;

nun=sun/3;

System.out.println(“平均成績為:”+nun);

System.out.println(“(去掉一個最高分和一個最低分)”);

}

};

public class exer4 {

public static void main (String args[]){

System.out.println(“請依次輸入評委所給的分數”);

System.out.println(“(默認為五個評委)”);

int a[] = new int [5];

Scanner reader = new Scanner(S

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303852.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-31 11:50
下一篇 2024-12-31 11:50

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29

發表回復

登錄後才能評論