/* Aquest fitxer Matrius.java cal que estigui
ubicat dins la mateixa carpeta que el fitxer
amb les classes auxiliars
Es compila fent
%javac Matrius.java
per obtenir el fitxer Matrius.class
I, finalment, s'engega fent
%java Matrius
*/
import java.io.*;
public class ProvaMatrius{
// aquest programa fa ús dels mètodes de la classe Matrius (Matrius.java)
public static void main(String args[]) throws IOException {
// inicialitzem una matriu 2x2 (cal canvira el valors
// per poder treballar amb una matriu de diferent grandària
int mtr[][]={{0,0},{0,0}};
int nf=2; //nombre de files
int nc=2; //nombre de columnes
Matrius m = new Matrius();
m.demanaMatriu(mtr,nf,nc);
System.out.println("= = = the input matrix is:");
m.mostraMatriu(mtr,nf,nc);
}
}
Mostrando entradas con la etiqueta lenguaje Java. Mostrar todas las entradas
Mostrando entradas con la etiqueta lenguaje Java. Mostrar todas las entradas
jueves, 6 de mayo de 2021
Un ejercicio sencillo en lenguaje Java ( salida de un dato con formato )
/**
* Programa que dóna format a una data
**/
public class UnesDates {
public static void main(String[] args) {
java.util.Date data = new java.util.Date();
System.out.println("Una data tal qual");
System.out.println(data);
System.out.println("Una data formatada");
System.out.println(
java.text.DateFormat.getDateInstance().format(data));
}
}
* Programa que dóna format a una data
**/
public class UnesDates {
public static void main(String[] args) {
java.util.Date data = new java.util.Date();
System.out.println("Una data tal qual");
System.out.println(data);
System.out.println("Una data formatada");
System.out.println(
java.text.DateFormat.getDateInstance().format(data));
}
}
Cálculos sencillos utilizando 'clases' en lenguaje Java
Aquesta classe (Volums) conté un mètode que serveix
per calcular el volum d'un cilindre (calculaVolum).
Farem ús d'aquest mètode (i, per tant, d'aquesta classe)
des d'una altra classe (ProvaPrimeraClasse) desde
la qual entrem el valor de les dades
Cal que el fitxer que conté aquesta classe (Volums.java)
estigui a la mateixa carpeta que el fitxer que conté
la classe des de la qual se'n farà ús (ProvaPrimeraClasse.java)
Cada classe de tipus 'public' ha d'estar arxivada en un fitxer
independent; no obstant això, es podria reunir vàries classes
en un sol fitxer si aquestes fossin del tipus 'private' o bé
'protected'
*/
public class Volums{
public double calculaVolum(double a, double r){
final double PI=3.14159; // una constant es declara com a 'final'
double v;
v = PI*Math.pow(r,2)*a;
return v;
}
}
import java.io.*;
public class ProvaPrimeraClasse{
public static void main(String args[]) throws IOException {
double altura=0, radi=0;
String text;
InputStreamReader flux = new InputStreamReader(System.in);
BufferedReader teclat = new BufferedReader(flux);
System.out.println("height's value ?");
text=teclat.readLine();
altura=(Double.valueOf(text)).doubleValue();
System.out.println("value of radius ?");
text=teclat.readLine();
radi=(Double.valueOf(text)).doubleValue();
Volums v = new Volums();
System.out.println("Volum of cylinder ="+v.calculaVolum(altura,radi));
// Observem que els arguments del mètode calculaVolum (de l'objecte v)
// li són passats per valor (sempre es fa així en Java)
}
}
per calcular el volum d'un cilindre (calculaVolum).
Farem ús d'aquest mètode (i, per tant, d'aquesta classe)
des d'una altra classe (ProvaPrimeraClasse) desde
la qual entrem el valor de les dades
Cal que el fitxer que conté aquesta classe (Volums.java)
estigui a la mateixa carpeta que el fitxer que conté
la classe des de la qual se'n farà ús (ProvaPrimeraClasse.java)
Cada classe de tipus 'public' ha d'estar arxivada en un fitxer
independent; no obstant això, es podria reunir vàries classes
en un sol fitxer si aquestes fossin del tipus 'private' o bé
'protected'
Classe principal
*/
public class Volums{
public double calculaVolum(double a, double r){
final double PI=3.14159; // una constant es declara com a 'final'
double v;
v = PI*Math.pow(r,2)*a;
return v;
}
}
Classe auxiliar
import java.io.*;
public class ProvaPrimeraClasse{
public static void main(String args[]) throws IOException {
double altura=0, radi=0;
String text;
InputStreamReader flux = new InputStreamReader(System.in);
BufferedReader teclat = new BufferedReader(flux);
System.out.println("height's value ?");
text=teclat.readLine();
altura=(Double.valueOf(text)).doubleValue();
System.out.println("value of radius ?");
text=teclat.readLine();
radi=(Double.valueOf(text)).doubleValue();
Volums v = new Volums();
System.out.println("Volum of cylinder ="+v.calculaVolum(altura,radi));
// Observem que els arguments del mètode calculaVolum (de l'objecte v)
// li són passats per valor (sempre es fa així en Java)
}
}
Etiquetas:
lenguaje Java,
uso de clases en lenguaje Java
Multiplicación de matrices en lenguaje Java
/* Aquest fitxer ProvaMatrius.java, amb les classes auxiliars, cal que estigui
ubicat dins la mateixa carpeta que la classe principal
Es compila fent
%javac ProvaMatrius.java
per obtenir el fitxer ProvaMatrius.class
*/
import java.io.*;
public class Matrius{
public void demanaMatriu (int matriu[][], int nfiles, int ncolumnes ){
int i,j;
String text;
InputStreamReader flux=new InputStreamReader(System.in);
BufferedReader teclat=new BufferedReader(flux);
try{
for (i=0;i<nfiles;i++){
for (j=0;j<ncolumnes;j++){
System.out.print(" (" + i + "," + j +")=");
text=teclat.readLine();
matriu[i][j]=(Integer.valueOf(text)).intValue();
}
System.out.println(" ");
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}
public void mostraMatriu (int matriu[][], int nfiles, int ncolumnes ){
int i,j;
for (i=0;i<nfiles;i++){
for (j=0;j<ncolumnes;j++){
System.out.print(matriu[i][j]+" ");
}
System.out.println(" ");
}
}
public void multiplicaMatrius (int matriu1[][], int nfiles1, int ncolumnes1, int matriu2[][], int nfiles2, int ncolumnes2, int matriu3[][], int nfiles3, int ncolumnes3){
int i,j,k,s;
for (i=0;i<nfiles1;i++){
for (j=0;j<ncolumnes2;j++){
s=0;
for (k=0;k<ncolumnes2;k++){
s+=matriu1[i][k]*matriu2[k][j];
}
matriu3[i][j]=s;
}
}
}
}
ubicat dins la mateixa carpeta que la classe principal
Es compila fent
%javac ProvaMatrius.java
per obtenir el fitxer ProvaMatrius.class
*/
import java.io.*;
public class Matrius{
public void demanaMatriu (int matriu[][], int nfiles, int ncolumnes ){
int i,j;
String text;
InputStreamReader flux=new InputStreamReader(System.in);
BufferedReader teclat=new BufferedReader(flux);
try{
for (i=0;i<nfiles;i++){
for (j=0;j<ncolumnes;j++){
System.out.print(" (" + i + "," + j +")=");
text=teclat.readLine();
matriu[i][j]=(Integer.valueOf(text)).intValue();
}
System.out.println(" ");
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}
public void mostraMatriu (int matriu[][], int nfiles, int ncolumnes ){
int i,j;
for (i=0;i<nfiles;i++){
for (j=0;j<ncolumnes;j++){
System.out.print(matriu[i][j]+" ");
}
System.out.println(" ");
}
}
public void multiplicaMatrius (int matriu1[][], int nfiles1, int ncolumnes1, int matriu2[][], int nfiles2, int ncolumnes2, int matriu3[][], int nfiles3, int ncolumnes3){
int i,j,k,s;
for (i=0;i<nfiles1;i++){
for (j=0;j<ncolumnes2;j++){
s=0;
for (k=0;k<ncolumnes2;k++){
s+=matriu1[i][k]*matriu2[k][j];
}
matriu3[i][j]=s;
}
}
}
}
Etiquetas:
lenguaje Java,
multiplicación de matrices
Un ejercicio de cálculo sencillo en lenguaje Java
import java.lang.Math;
// la classe java.lang.Math no cal expressar específicament que s'importi
//(es fa per defecte)
public class ProvaMath{
public static void main (String args[] ){
// declaració de tipus de cada variable
double p; //potència
double b; //base
double e; //exponent
// assignació de valor
b=2.0D;
e=3.0D;
// càlcul de la potència
p=Math.pow(b,e);
System.out.println("$b^e=p$");
System.out.println(b+"^"+e+"="+p);
}
}
// la classe java.lang.Math no cal expressar específicament que s'importi
//(es fa per defecte)
public class ProvaMath{
public static void main (String args[] ){
// declaració de tipus de cada variable
double p; //potència
double b; //base
double e; //exponent
// assignació de valor
b=2.0D;
e=3.0D;
// càlcul de la potència
p=Math.pow(b,e);
System.out.println("$b^e=p$");
System.out.println(b+"^"+e+"="+p);
}
}
Etiquetas:
cálculos sencillos en Java,
lenguaje Java
Años bisiestos
NOTA PRELIMINAR:
Comproveu abans que tingueu instal·lat el plug in de Java (JRE versió 1.6.0_16 o bé una versió superior ) al vostre navegador.
Algunes observacions dirigides a qui li interessi la programació en llenguatge Java:
Quan vaig compilar el codi font (Anyb.java) tot just havia acabat d'actualitzar el meu JDK i el JRE a la versió més recent v1.6.0_* (octubre de 2009) i, per bé que al meu ordinador funciona perfectament (el fitxer amb els bytecodes, Anyb.class, generat en la compilació), he pogut comprovar que, malauradament, en d'altres ordinadors que encara no han actualitzat el JRE (la màquina virtual de Java o plug in dels navegadors a aquesta última versió (10/2009), no s'engega l'applet en carrregar-se. El mateix m'ha passat quan he provat de posar-lo en marxa en un Mac. Per contra, altres applets que ja havia preparat fa temps amb versions anteriors del JDK funcionen perfectament en aquestes màquines. És per això que he mirat de trobar l'antiga versió del JDK amb què treballava fa temps (j2sdk1.4.2_14) per tornar a compilar el fitxer amb el codi font (Anyb.java) [ les antigues versions les podeu trobar a http://java.sun.com/products/archive ].
És de suposar que en actualitzar-se el plug in (sovint es fa de manera automàtica) els applets generats amb les noves versions del JDK v1.6.* (o superiors) funcionaran normalment.
Espero que aquestes notes siguin d'utilitat per als companys que estiguin també preparant materials didàctics amb les versions més noves del JDK de Sun (>octubre de 2009). L'experiència també m'ha servit per aprendre a compilar amb els Mac desde la línia de comandes (comandes UNIX). El meu Mac incorpora (octubre de 2009) el jdk v1.5.* i el jre v1.5.* i interpreta bé el que he compilat amb el jdk v1.4.* en un ordinador sota Windows.
/**
* MIRANT SI UN ANY a ÉS BIXSEST
*
* Recordem que:
* Un any terrestre no equival exactament a 365 dies sino, amb més precisió,
* a 365 dies i 1/4 de dia; quan es va reformar el calendari (365 dies), per ajustar
* es va establir que, a partir d'un any bixsest,
* cada quatre anys s'afegiria un dia al mes de febrer (sempre i quan les dues darreres
* xifres no fossin zeros, a execepció dels anys múltiples de 400).
*
* Sobre l'entrada de dades del programa fent ús del teclat:
* Aquest programa fa ús del teclat per demanar quin any es vol analitzar
* quan el programa ja s'ha engegat. Per això, en general, cal definir un CANAL,
* un FLUX i un FILTRE per les dades que l'usuari comunica al programa
*/
import java.io.*; // cal importar el PAQUET java.io per poder treballar amb les
// classes que aquest incorpara d'"entrada-sortida"
public class AnyBixestCanalTeclat {
public static void main(String args[]) throws IOException {
// fem ús del modificador IOException per capturar i desprendre'ns
// de les "excepcions" (errors) que es puguin donar
int any;
boolean bixsest;
String text_any;
// El següent CONSTRUCTOR farà possible el "FLUX"
// de dades (l'objecte "System.in")
InputStreamReader flux = new InputStreamReader(System.in);
// I aquest altre CONSTRUCTOR habilita el teclat com a "CANAL" (l'objecte corresponent)
// per a les dades que s'entrin
BufferedReader teclat = new BufferedReader(flux);
// Es posa en pràctica l'entrada de la paraula "text_any"
// i que entrem en forma de guarisme (tot i que, en aquest moment, pel programa és
// una cadena de caràcters
System.out.println("Quin any voleu analitzar ?");
text_any = teclat.readLine();
// primer que res, cal convertir aquesta paraula a un enter
any = (Integer.valueOf(text_any)).intValue();
// I, a partir d'aquí, fem el càlcul convenient per analitzar si l'any és bixsest
bixsest = ((any % 4 == 0) && (any % 100 !=0)) || (any % 400 == 0);
// I, finalment, tenim la sortida del programa ... que fem efectiva amb
// el MÈTODE println de l'objecte System.out (el canal i el flux de sortida
// ja estan habilitats, per defecte)
if(bixsest){System.out.println("L'any " + any + " és bixest");}
else{System.out.println("L'any " + any + " no és bixest");};
}
}
Comproveu abans que tingueu instal·lat el plug in de Java (JRE versió 1.6.0_16 o bé una versió superior ) al vostre navegador.
Algunes observacions dirigides a qui li interessi la programació en llenguatge Java:
Quan vaig compilar el codi font (Anyb.java) tot just havia acabat d'actualitzar el meu JDK i el JRE a la versió més recent v1.6.0_* (octubre de 2009) i, per bé que al meu ordinador funciona perfectament (el fitxer amb els bytecodes, Anyb.class, generat en la compilació), he pogut comprovar que, malauradament, en d'altres ordinadors que encara no han actualitzat el JRE (la màquina virtual de Java o plug in dels navegadors a aquesta última versió (10/2009), no s'engega l'applet en carrregar-se. El mateix m'ha passat quan he provat de posar-lo en marxa en un Mac. Per contra, altres applets que ja havia preparat fa temps amb versions anteriors del JDK funcionen perfectament en aquestes màquines. És per això que he mirat de trobar l'antiga versió del JDK amb què treballava fa temps (j2sdk1.4.2_14) per tornar a compilar el fitxer amb el codi font (Anyb.java) [ les antigues versions les podeu trobar a http://java.sun.com/products/archive ].
És de suposar que en actualitzar-se el plug in (sovint es fa de manera automàtica) els applets generats amb les noves versions del JDK v1.6.* (o superiors) funcionaran normalment.
Espero que aquestes notes siguin d'utilitat per als companys que estiguin també preparant materials didàctics amb les versions més noves del JDK de Sun (>octubre de 2009). L'experiència també m'ha servit per aprendre a compilar amb els Mac desde la línia de comandes (comandes UNIX). El meu Mac incorpora (octubre de 2009) el jdk v1.5.* i el jre v1.5.* i interpreta bé el que he compilat amb el jdk v1.4.* en un ordinador sota Windows.
/**
* MIRANT SI UN ANY a ÉS BIXSEST
*
* Recordem que:
* Un any terrestre no equival exactament a 365 dies sino, amb més precisió,
* a 365 dies i 1/4 de dia; quan es va reformar el calendari (365 dies), per ajustar
* es va establir que, a partir d'un any bixsest,
* cada quatre anys s'afegiria un dia al mes de febrer (sempre i quan les dues darreres
* xifres no fossin zeros, a execepció dels anys múltiples de 400).
*
* Sobre l'entrada de dades del programa fent ús del teclat:
* Aquest programa fa ús del teclat per demanar quin any es vol analitzar
* quan el programa ja s'ha engegat. Per això, en general, cal definir un CANAL,
* un FLUX i un FILTRE per les dades que l'usuari comunica al programa
*/
import java.io.*; // cal importar el PAQUET java.io per poder treballar amb les
// classes que aquest incorpara d'"entrada-sortida"
public class AnyBixestCanalTeclat {
public static void main(String args[]) throws IOException {
// fem ús del modificador IOException per capturar i desprendre'ns
// de les "excepcions" (errors) que es puguin donar
int any;
boolean bixsest;
String text_any;
// El següent CONSTRUCTOR farà possible el "FLUX"
// de dades (l'objecte "System.in")
InputStreamReader flux = new InputStreamReader(System.in);
// I aquest altre CONSTRUCTOR habilita el teclat com a "CANAL" (l'objecte corresponent)
// per a les dades que s'entrin
BufferedReader teclat = new BufferedReader(flux);
// Es posa en pràctica l'entrada de la paraula "text_any"
// i que entrem en forma de guarisme (tot i que, en aquest moment, pel programa és
// una cadena de caràcters
System.out.println("Quin any voleu analitzar ?");
text_any = teclat.readLine();
// primer que res, cal convertir aquesta paraula a un enter
any = (Integer.valueOf(text_any)).intValue();
// I, a partir d'aquí, fem el càlcul convenient per analitzar si l'any és bixsest
bixsest = ((any % 4 == 0) && (any % 100 !=0)) || (any % 400 == 0);
// I, finalment, tenim la sortida del programa ... que fem efectiva amb
// el MÈTODE println de l'objecte System.out (el canal i el flux de sortida
// ja estan habilitats, per defecte)
if(bixsest){System.out.println("L'any " + any + " és bixest");}
else{System.out.println("L'any " + any + " no és bixest");};
}
}
Etiquetas:
años bisiestos,
lenguaje Java
Entrada de datos por teclado en lenguaje Java
import java.io.*;
public class ProvaEntradaTeclat{
public static void main (String args[] ) throws IOException {
// declaració de tipus de la variable corresponent al nomb que entrem
String nomQueEntrem;
// declaració de les variables referenciades flux i teclat(canal)
InputStreamReader flux; // flux
BufferedReader teclat; // canal
// construcció dels objectes flux i teclat(canal)
flux = new InputStreamReader(System.in); // System.in identifica el teclat com a prfr d'entrada
teclat = new BufferedReader(flux);
System.out.println("type your name, please: ");
nomQueEntrem = teclat.readLine();
System.out.println("Your name is: "+nomQueEntrem);
}
}
public class ProvaEntradaTeclat{
public static void main (String args[] ) throws IOException {
// declaració de tipus de la variable corresponent al nomb que entrem
String nomQueEntrem;
// declaració de les variables referenciades flux i teclat(canal)
InputStreamReader flux; // flux
BufferedReader teclat; // canal
// construcció dels objectes flux i teclat(canal)
flux = new InputStreamReader(System.in); // System.in identifica el teclat com a prfr d'entrada
teclat = new BufferedReader(flux);
System.out.println("type your name, please: ");
nomQueEntrem = teclat.readLine();
System.out.println("Your name is: "+nomQueEntrem);
}
}
Etiquetas:
entrada por teclado en Java,
lenguaje Java
Elaboración de un paquete de código ( package ) en lenguaje Java
package ExempleCase; // Empaquetant
/**
Per engegar el programa empaquetat cal que feu
java -jar "camí_del_fitxer.exemple_case.jar"
*/
public class ExempleCase {
public static void main(String args[]) {int mes;
mes = 2; // és necessari donar un valor inicial a la variable
switch (mes) {
case 1:
System.out.println("El mes de gener té 31 dies");
break;
case 2:
System.out.println("El mes de febrer té 28 dies si l'any no és de traspàs; i 29, si l'és");
break;
case 3:
System.out.println("El mes de març té 31 dies");
break;
case 4:
System.out.println("El mes d'abril té 30 dies");
break;
case 5:
System.out.println("El mes de maig té 31 dies");
break;
case 6:
System.out.println("El mes de juny té 30 dies");
break;
case 7:
System.out.println("El mes de juliol té 31 dies");
break;
case 8:
System.out.println("El mes d'agost té 31 dies");
break;
case 9:
System.out.println("El mes de setembre té 30 dies");
break;
case 10:
System.out.println("El mes d'octubre té 31 dies");
break;
case 11:
System.out.println("El mes de novembre té 30 dies");
break;
case 12:
System.out.println("El mes de desembre té 31 dies");
break;
default:
}
}
}
/**
Per engegar el programa empaquetat cal que feu
java -jar "
*/
public class ExempleCase {
public static void main(String args[]) {int mes;
mes = 2; // és necessari donar un valor inicial a la variable
switch (mes) {
case 1:
System.out.println("El mes de gener té 31 dies");
break;
case 2:
System.out.println("El mes de febrer té 28 dies si l'any no és de traspàs; i 29, si l'és");
break;
case 3:
System.out.println("El mes de març té 31 dies");
break;
case 4:
System.out.println("El mes d'abril té 30 dies");
break;
case 5:
System.out.println("El mes de maig té 31 dies");
break;
case 6:
System.out.println("El mes de juny té 30 dies");
break;
case 7:
System.out.println("El mes de juliol té 31 dies");
break;
case 8:
System.out.println("El mes d'agost té 31 dies");
break;
case 9:
System.out.println("El mes de setembre té 30 dies");
break;
case 10:
System.out.println("El mes d'octubre té 31 dies");
break;
case 11:
System.out.println("El mes de novembre té 30 dies");
break;
case 12:
System.out.println("El mes de desembre té 31 dies");
break;
default:
}
}
}
Etiquetas:
lenguaje Java,
paquete Java
Paso de parámetros por valor en el lenguaje Java
import java.io.*;
public class ProvaPrimeraClasse{
public static void main(String args[]) throws IOException {
double altura=0, radi=0;
String text;
InputStreamReader flux = new InputStreamReader(System.in);
BufferedReader teclat = new BufferedReader(flux);
System.out.println("height's value ?");
text=teclat.readLine();
altura=(Double.valueOf(text)).doubleValue();
System.out.println("value of radius ?");
text=teclat.readLine();
radi=(Double.valueOf(text)).doubleValue();
Volums v = new Volums();
System.out.println("Volum of cylinder ="+v.calculaVolum(altura,radi));
// Observem que els arguments del mètode calculaVolum (de l'objecte v)
// li són passats per valor (sempre es fa així en Java)
}
}
public class ProvaPrimeraClasse{
public static void main(String args[]) throws IOException {
double altura=0, radi=0;
String text;
InputStreamReader flux = new InputStreamReader(System.in);
BufferedReader teclat = new BufferedReader(flux);
System.out.println("height's value ?");
text=teclat.readLine();
altura=(Double.valueOf(text)).doubleValue();
System.out.println("value of radius ?");
text=teclat.readLine();
radi=(Double.valueOf(text)).doubleValue();
Volums v = new Volums();
System.out.println("Volum of cylinder ="+v.calculaVolum(altura,radi));
// Observem que els arguments del mètode calculaVolum (de l'objecte v)
// li són passats per valor (sempre es fa així en Java)
}
}
Etiquetas:
lenguaje Java,
paso de parámetros por valor
Otro ejercicio de programación en lenguaje Java sobre cálculos básicos
public class ProvaEnters{
public static void main (String args[] ){
// declaració de tipus de cada variable
byte e_1_byte; //rang: de -2^{-7} a 2^7-1 (de -128 a 127)
short e_2_byte; //rang: de -2^{-15} a 2^15-1 (de -32768 a 32767)
int e_4_byte; //rang: de -2^{-31} a 2^31-1 (de -2147483648 a 2147483647)
long e_8_byte; //rang: de -2^{-63} a 2^63-1 (de -92233720366854775808 a -92233720366854775807)
// assignació de valor
e_1_byte=-112;
e_2_byte=31245;
e_4_byte=42765;
e_8_byte=1589944592;
System.out.println("exemple de quantitat entera tipus 'byte' (1 byte)="+e_1_byte);
System.out.println("exemple de quantitat entera tipus 'short'(2 byte)="+e_2_byte);
System.out.println("exemple de quantitat entera tipus 'int' (4 byte) ="+e_4_byte);
System.out.println("exemple de quantitat entera tipus 'long' (8 byte)="+e_8_byte);
}
}
public static void main (String args[] ){
// declaració de tipus de cada variable
byte e_1_byte; //rang: de -2^{-7} a 2^7-1 (de -128 a 127)
short e_2_byte; //rang: de -2^{-15} a 2^15-1 (de -32768 a 32767)
int e_4_byte; //rang: de -2^{-31} a 2^31-1 (de -2147483648 a 2147483647)
long e_8_byte; //rang: de -2^{-63} a 2^63-1 (de -92233720366854775808 a -92233720366854775807)
// assignació de valor
e_1_byte=-112;
e_2_byte=31245;
e_4_byte=42765;
e_8_byte=1589944592;
System.out.println("exemple de quantitat entera tipus 'byte' (1 byte)="+e_1_byte);
System.out.println("exemple de quantitat entera tipus 'short'(2 byte)="+e_2_byte);
System.out.println("exemple de quantitat entera tipus 'int' (4 byte) ="+e_4_byte);
System.out.println("exemple de quantitat entera tipus 'long' (8 byte)="+e_8_byte);
}
}
Etiquetas:
cálculos básicos,
lenguaje Java
Un ejercicio sencillo de asignación de valor a una variable de tipo carácter
public class ProvaChar{
public static void main (String args[] ){
// declaració de tipus de cada variable
char c_1;
// assignació de valor
c_1='w';
System.out.println("lletra "+c_1);
}
}
public static void main (String args[] ){
// declaració de tipus de cada variable
char c_1;
// assignació de valor
c_1='w';
System.out.println("lletra "+c_1);
}
}
Etiquetas:
lenguaje Java,
variable de tipo carácter
Un ejercicio de cálculo básico en leguaje Java
public class ProvaReals{
public static void main (String args[] ){
float increment_percentual;
double q_final,q_inicial,increment;
q_final=4E+0D;
q_inicial=1.2E+0D;
increment=q_final-q_inicial;
increment_percentual = (float) (increment*100/q_inicial);
System.out.println("Q_f="+q_final);
System.out.println("Q_i="+q_inicial);
System.out.println("increment="+increment);
System.out.println("increment percentual="+increment_percentual+" %");
}
}
public static void main (String args[] ){
float increment_percentual;
double q_final,q_inicial,increment;
q_final=4E+0D;
q_inicial=1.2E+0D;
increment=q_final-q_inicial;
increment_percentual = (float) (increment*100/q_inicial);
System.out.println("Q_f="+q_final);
System.out.println("Q_i="+q_inicial);
System.out.println("increment="+increment);
System.out.println("increment percentual="+increment_percentual+" %");
}
}
Etiquetas:
cálculos sencillos,
lenguaje Java
Un ejercicio de prueba con cadenas de caracteres en lenguaje Java
Un exercici senzill:
public class Cadena{
public static void main(String args[]){
String nom;
nom = "Miquel";
System.out.print("El nom" + nom + "té" + nom.length() + "caràcters\n");
System.out.print("El nom" + nom + "té la lletra 'q' en la posició" + nom.indexOf("q") + "\n");
}
}
Un exercici una mica més complet:
public class ProvaString{
public static void main (String args[] ){
// declaració de tipus de cada variable
String nom;
String nombre;
String name;
int position_letter_o;
// assignació de valor
nom="Joan";
nombre="Juan";
name="John";
position_letter_o=nom.indexOf("o")+ 1;
System.out.println("The word "+nom+" has "+nom.length()+" characters \n");
System.out.println("The first character of the word "+nom+" is "+nom.charAt(0)+"\n");
System.out.println("The word "+nom+" has the letter 'o' in "+position_letter_o+"nd position \n");
System.out.println("The word "+nom+" is the same as "+nom.toUpperCase()+" \n");
System.out.println("The first name "+nom+" (catalan) is the same as "+nom.replace(nom,nombre)+" in spanish \n");
System.out.println("The first name "+nom+" (catalan) is the same as "+nom.replace(nom,name)+" in english \n");
}
}
public class Cadena{
public static void main(String args[]){
String nom;
nom = "Miquel";
System.out.print("El nom" + nom + "té" + nom.length() + "caràcters\n");
System.out.print("El nom" + nom + "té la lletra 'q' en la posició" + nom.indexOf("q") + "\n");
}
}
Un exercici una mica més complet:
public class ProvaString{
public static void main (String args[] ){
// declaració de tipus de cada variable
String nom;
String nombre;
String name;
int position_letter_o;
// assignació de valor
nom="Joan";
nombre="Juan";
name="John";
position_letter_o=nom.indexOf("o")+ 1;
System.out.println("The word "+nom+" has "+nom.length()+" characters \n");
System.out.println("The first character of the word "+nom+" is "+nom.charAt(0)+"\n");
System.out.println("The word "+nom+" has the letter 'o' in "+position_letter_o+"nd position \n");
System.out.println("The word "+nom+" is the same as "+nom.toUpperCase()+" \n");
System.out.println("The first name "+nom+" (catalan) is the same as "+nom.replace(nom,nombre)+" in spanish \n");
System.out.println("The first name "+nom+" (catalan) is the same as "+nom.replace(nom,name)+" in english \n");
}
}
Etiquetas:
cadenas de caracteres,
lenguaje Java
Redondeos en lenguaje Java
public class Arrodoniments {
public static void main(String[] arg) {
int i = 7;
int j = -9;
double x = 72.3543;
double y = 0.3498;
System.out.println("i es " + i);
System.out.println("j es " + j);
System.out.println("x es " + x);
System.out.println("y es " + y);
// Valor absoluto de un número
System.out.println("|" + i + "| es " + Math.abs(i));
System.out.println("|" + j + "| es " + Math.abs(j));
System.out.println("|" + x + "| es " + Math.abs(x));
System.out.println("|" + y + "| es " + Math.abs(y));
// aproximación decimal
//empleando (round)
System.out.println(x + " es " + Math.round(x));
System.out.println(y + " es " + Math.round(y));
System.out.println(x + " es aprox." + (double)Math.round(x*100)/100);
System.out.println(y + " es aprox." + (double)Math.round(y*100)/100);
//empleando floor
System.out.println("The floor of " + x + " es " + (100*Math.floor(x))/100);
System.out.println("The floor of " + y + " es " + (100*Math.floor(y))/100);
// para hallar el menor de dos números
System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));
System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));
// Para hallar el mayor de dos números
System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));
// las constantes PI y E
System.out.println("Pi es " + Math.PI);
System.out.println("e es " + Math.E);
//funciones trigonomètricas
double angulo = 45.0 * Math.PI/180.0;
System.out.println("cos(" + angulo + ") es " + Math.cos(angulo));
System.out.println("sin(" + angulo + ") es " + Math.sin(angulo));
System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));
// Funciones trigonomètricas inversas
double valor = 0.707;
System.out.println("acos(" + valor + ") es " + Math.acos(valor));
System.out.println("asin(" + valor + ") es " + Math.asin(valor));
System.out.println("atan(" + valor + ") es " + Math.atan(valor));
y=6.2; //ordenada
x=-5.4; //abscisa
System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));
//Funciones exponencial y logarítmica
System.out.println("exp(1.0) es " + Math.exp(1.0));
System.out.println("exp(10.0) es " + Math.exp(10.0));
System.out.println("exp(0.0) es " + Math.exp(0.0));
System.out.println("log(1.0) es " + Math.log(1.0));
System.out.println("log(10.0) es " + Math.log(10.0));
System.out.println("log(Math.E) es " + Math.log(Math.E));
// pow(x,y) devuelve x elevado a y.
System.out.println("pow(2.0, 2.0) es " + Math.pow(2.0,2.0));
System.out.println("pow(10.0, 3.5) es " + Math.pow(10.0,3.5));
System.out.println("pow(8, -1) es " + Math.pow(8,-1));
// sqrt(x) devuelve la raíz cuadrada de x.
System.out.println("La raÃz cuadrada de " + y + " es " + Math.sqrt(y));
// Devuelve un número pseudo-aleatorio comprendido entre 0.0 y 1.0
System.out.println("Número aleatorio: " + Math.random());
System.out.println("Otro número aleatorio: " + Math.random());
try {
//espera la pulsación de una tecla y luego RETORNO
System.in.read();
}catch (Exception ex) { }
}
}
public static void main(String[] arg) {
int i = 7;
int j = -9;
double x = 72.3543;
double y = 0.3498;
System.out.println("i es " + i);
System.out.println("j es " + j);
System.out.println("x es " + x);
System.out.println("y es " + y);
// Valor absoluto de un número
System.out.println("|" + i + "| es " + Math.abs(i));
System.out.println("|" + j + "| es " + Math.abs(j));
System.out.println("|" + x + "| es " + Math.abs(x));
System.out.println("|" + y + "| es " + Math.abs(y));
// aproximación decimal
//empleando (round)
System.out.println(x + " es " + Math.round(x));
System.out.println(y + " es " + Math.round(y));
System.out.println(x + " es aprox." + (double)Math.round(x*100)/100);
System.out.println(y + " es aprox." + (double)Math.round(y*100)/100);
//empleando floor
System.out.println("The floor of " + x + " es " + (100*Math.floor(x))/100);
System.out.println("The floor of " + y + " es " + (100*Math.floor(y))/100);
// para hallar el menor de dos números
System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));
System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));
// Para hallar el mayor de dos números
System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));
// las constantes PI y E
System.out.println("Pi es " + Math.PI);
System.out.println("e es " + Math.E);
//funciones trigonomètricas
double angulo = 45.0 * Math.PI/180.0;
System.out.println("cos(" + angulo + ") es " + Math.cos(angulo));
System.out.println("sin(" + angulo + ") es " + Math.sin(angulo));
System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));
// Funciones trigonomètricas inversas
double valor = 0.707;
System.out.println("acos(" + valor + ") es " + Math.acos(valor));
System.out.println("asin(" + valor + ") es " + Math.asin(valor));
System.out.println("atan(" + valor + ") es " + Math.atan(valor));
y=6.2; //ordenada
x=-5.4; //abscisa
System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));
//Funciones exponencial y logarítmica
System.out.println("exp(1.0) es " + Math.exp(1.0));
System.out.println("exp(10.0) es " + Math.exp(10.0));
System.out.println("exp(0.0) es " + Math.exp(0.0));
System.out.println("log(1.0) es " + Math.log(1.0));
System.out.println("log(10.0) es " + Math.log(10.0));
System.out.println("log(Math.E) es " + Math.log(Math.E));
// pow(x,y) devuelve x elevado a y.
System.out.println("pow(2.0, 2.0) es " + Math.pow(2.0,2.0));
System.out.println("pow(10.0, 3.5) es " + Math.pow(10.0,3.5));
System.out.println("pow(8, -1) es " + Math.pow(8,-1));
// sqrt(x) devuelve la raíz cuadrada de x.
System.out.println("La raÃz cuadrada de " + y + " es " + Math.sqrt(y));
// Devuelve un número pseudo-aleatorio comprendido entre 0.0 y 1.0
System.out.println("Número aleatorio: " + Math.random());
System.out.println("Otro número aleatorio: " + Math.random());
try {
//espera la pulsación de una tecla y luego RETORNO
System.in.read();
}catch (Exception ex) { }
}
}
Una prueba con la instrucción "switch ... case" del lenguaje Java
public class ExempleCase {
public static void main(String args[]) {int mes;
mes = 2; // és necessari donar un valor inicial a la variable
switch (mes) {
case 1:
System.out.println("El mes de gener té 31 dies");
break;
case 2:
System.out.println("El mes de febrer té 28 dies si l'any no és de traspàs; i 29, si l'és");
break;
case 3:
System.out.println("El mes de març té 31 dies");
break;
case 4:
System.out.println("El mes d'abril té 30 dies");
break;
case 5:
System.out.println("El mes de maig té 31 dies");
break;
case 6:
System.out.println("El mes de juny té 30 dies");
break;
case 7:
System.out.println("El mes de juliol té 31 dies");
break;
case 8:
System.out.println("El mes d'agost té 31 dies");
break;
case 9:
System.out.println("El mes de setembre té 30 dies");
break;
case 10:
System.out.println("El mes d'octubre té 31 dies");
break;
case 11:
System.out.println("El mes de novembre té 30 dies");
break;
case 12:
System.out.println("El mes de desembre té 31 dies");
break;
default:
}
}
}
public static void main(String args[]) {int mes;
mes = 2; // és necessari donar un valor inicial a la variable
switch (mes) {
case 1:
System.out.println("El mes de gener té 31 dies");
break;
case 2:
System.out.println("El mes de febrer té 28 dies si l'any no és de traspàs; i 29, si l'és");
break;
case 3:
System.out.println("El mes de març té 31 dies");
break;
case 4:
System.out.println("El mes d'abril té 30 dies");
break;
case 5:
System.out.println("El mes de maig té 31 dies");
break;
case 6:
System.out.println("El mes de juny té 30 dies");
break;
case 7:
System.out.println("El mes de juliol té 31 dies");
break;
case 8:
System.out.println("El mes d'agost té 31 dies");
break;
case 9:
System.out.println("El mes de setembre té 30 dies");
break;
case 10:
System.out.println("El mes d'octubre té 31 dies");
break;
case 11:
System.out.println("El mes de novembre té 30 dies");
break;
case 12:
System.out.println("El mes de desembre té 31 dies");
break;
default:
}
}
}
Etiquetas:
instrucción switch ... case,
lenguaje Java
jueves, 29 de abril de 2021
Paso de parámetros a un applet de JAVA desde una archivo HTML mediante instrucciones de JavaScript
//
// Joan Aranes Clua (2003)
// Exemple 3.2 Ús de paràmetres i
// assignació de valor a través del fitxer HTML
// tipus de programa: applet
// fitxer amb el codi font: Exemple.java
import java.awt.*;
import java.applet.*;
public class Exemple extends Applet
{
String car_1,car_2,car_3;
public void init()
{
car_1=getParameter("param1");
car_2=getParameter("param2");
car_3=getParameter("param3");
}
public void paint(Graphics g)
{
g.drawString(car_1,10,25);
g.drawString(car_2,20,25);
g.drawString(car_3,30,25);
}
}
Després de compilar el fitxer Exemple.java
(fent %javac Exemple.java) s'obté el fitxer Exemple.class
el qual ja es pot fer servir en una pàgina web.
El codi HTML bàsic de la pàgina web (Exemple.htm) que crida l'applet és:
<html>
<head><title> Exemple.htm </title><head>
<body>
<applet code=Exemple.class width=300 height=100>
<param name="param1" value="a">
<param name="param2" value="b">
<param name="param3" value="c">
</applet>
</body>
</html>
Etiquetas:
leguajes de programación,
lenguaje Java,
lenguaje JavaScript
Suscribirse a:
Entradas (Atom)