Java Noob braucht hilfe :)
Hi all,
ich hatte die Aufgabe nen kleines Javascript Prog zu schreiben, welches den eingegebenen Text nach Buchstaben durchsucht und falls welche enthalten sein sollten den Suchvorgang abbricht und eine Fehlermeldung ausgibt ... nun ja der Code sieht wie folgt aus:
PS.: sry die dumme Frage nur hab ich von JavaScript net so dolle viel Ahnung und zum anderen is es a bissle her seit dem ich JavaScript des letzte mal verwendet habe :-/
ich hatte die Aufgabe nen kleines Javascript Prog zu schreiben, welches den eingegebenen Text nach Buchstaben durchsucht und falls welche enthalten sein sollten den Suchvorgang abbricht und eine Fehlermeldung ausgibt ... nun ja der Code sieht wie folgt aus:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<script type="text/javascript">
function input(){
var text;
text = prompt("Bitte geben sie Ihre Zahl ein!","");
return text;
}
function check(content){
var count = content.length;
for(var i=0, i <= count, i++){
value = content.charAT(i);
if(value <= 9 || value => 0){
continue
}else{
break
return -1;
}
}
return 1;
}
function public(value, text){
if(value > 0){
alert("Die von Ihnen eingegebene Zeichenkette:"+text+", ist gültig.");
}else{
alert("Die von Ihnen eingegebene Zeichenkette:"+text+", ist ungültig");
}
}
var text = input();
var pruef = check(text);
var ausgabe = public(pruef, text);
</script>
|
PS.: sry die dumme Frage nur hab ich von JavaScript net so dolle viel Ahnung und zum anderen is es a bissle her seit dem ich JavaScript des letzte mal verwendet habe :-/
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
ahjo sry ... kann man aus dem Quellcode net wirklich entnehmen, darum hier erst mal den "neuen":
sodalle nur ist es so: des is so ne kleine Übung für Info. und da isset besser wenn ich des ohne Formulare mache, da wir jene noch nicht besprochen haben (klar ich weiß damit umzugehen nur reagiert mein Info. Lehrer da alergisch drauf) ...
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<script type="text/javascript">
var text;
var pruef;
function check(content){
var count;
var value;
count = content.length;
for(var i=0, i <= count, i++){
value = content.charAT(i);
if(value <= 9 || value => 0){
continue
}else{
break
return -1;
}
}
return 1;
}
function public(value, text){
if(value > 0){
window.alert("Die von Ihnen eingegebene Zeichenkette:" + text + ", ist gültig.");
}else{
window.alert("Die von Ihnen eingegebene Zeichenkette:" + text + ", ist ungültig");
}
}
text = window.prompt("Bitte geben sie Ihre Zahl ein","");
if(text != ""){
pruef = check(text);
public(pruef, text);
}else{
window.alert("Fehler")
}
</script>
|
sodalle nur ist es so: des is so ne kleine Übung für Info. und da isset besser wenn ich des ohne Formulare mache, da wir jene noch nicht besprochen haben (klar ich weiß damit umzugehen nur reagiert mein Info. Lehrer da alergisch drauf) ...
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Kampfbieber« (25. November 2004, 17:08)
ömmm guck mal weiter unten wo die Funktion aufgerufen wird !
Edit: ok ich hab des jez mal a bissle einfacher geschrieben:
Edit: ok ich hab des jez mal a bissle einfacher geschrieben:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<script type="text/javascript">
var Eingabe;
Eingabe = prompt("Geben Sie ihre Zahl ein","");
var count = Eingabe.length;
for(var i = 0; i <= count; i++){
var pos_value;
pos_value = Eingabe.charAt(i);
if(pos_value >= 0 || pos_value <= 9){
continue;
}else{
alert("Die von Ihnen eingegebene Zeichenkette (" + eingabe + ") ist ungültig.");
break;
}
}
alert("Die von Ihnen eingegebene Zeichenkette (" + eingabe + ") ist gültig.");
</script>
|
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Kampfbieber« (25. November 2004, 17:52)
Hi
Du hast bei der For-Schleife mit , getrennt und nicht mit ; , was korrekt gewesen wäre
Ich selber verstehen relativ wenig von JS (ich kann das nur von PHP ableiten
)
Also mit dem Code bekommst du wenigstens eine Ausgabe, aber es stimmt noch an der If-Schleife etwas nicht.
Bist du sicher, dass es object.charAT heisst?
Mfg Fab
Du hast bei der For-Schleife mit , getrennt und nicht mit ; , was korrekt gewesen wäre

Ich selber verstehen relativ wenig von JS (ich kann das nur von PHP ableiten
)|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html>
<head>
<title>New Document</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<script type="text/javascript">
var eingabe;
eingabe = prompt("Geben Sie ihre Zahl ein","");
var pos_value;
var count = eingabe.length;
var i;
for(i=0; i<=count; i++){
pos_value = eingabe.charAt(i);
if(pos_value < 0 || pos_value > 9){
alert("Die von Ihnen eingegebene Zeichenkette (" + eingabe + ") ist ungültig.");
break;
} else {
alert("Die von Ihnen eingegebene Zeichenkette (" + eingabe + ") ist gültig.");
}
}
</script>
</body>
</html>
|
Also mit dem Code bekommst du wenigstens eine Ausgabe, aber es stimmt noch an der If-Schleife etwas nicht.
Bist du sicher, dass es object.charAT heisst?
Mfg Fab
-->Vokaline - schneller und effizienter Wörter lernen<-- (kostenlos!)
jo des in der For-Schleife is mir au aufgefallen nach dem ich des gepostet hatte
nunja ... ja es heißt object.charAt() es funtzt auch inner anderen kleinen Prüfroutine ... aber ich glaube das der bei dem Code net in die if-Schleife geht ;-/ ... ach man ich mag JS net ... PHP macht mehr Spaß
nunja ... ja es heißt object.charAt() es funtzt auch inner anderen kleinen Prüfroutine ... aber ich glaube das der bei dem Code net in die if-Schleife geht ;-/ ... ach man ich mag JS net ... PHP macht mehr Spaß
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html>
<head>
<title>New Document</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<script type="text/javascript">
var eingabe;
eingabe = prompt("Geben Sie ihre Zahl ein","");
var pos_value;
var count = eingabe.length;
var i;
for(i=0; i<=count; i++){
pos_value = eingabe.charCodeAt(i);
if(pos_value < 47 || pos_value > 58){
alert("Die von Ihnen eingegebene Zeichenkette (" + eingabe + ") ist ungültig.");
break;
} else {
alert("Die von Ihnen eingegebene Zeichenkette (" + eingabe + ") ist gültig.");
}
}
</script>
</body>
</html>
|
das mit dem charAT wird nicht so ganz funktionieren, nimm lieber CharCodeAt().
hi 
danke für erstmal für eure Hilfe
nunja heute hatte wir ja wieder Info und haben des Prob gelöst also die Überprüfung funtzt nun nur leider net des Konvertieren von einem string in eine Zahl ... hier erst mal der Code:
nunja um den String in eine Zahl umzuwandeln gehe ich den String von hinten Nach vorne durch sprich bei "123456" ist die erste Zahl die ich mir anschaue die 6 ... um daraus eine Zahl zu machen multipliziere ich die noch pseudo-Ziffer 6 mit 10^0, da sie ja an der ersten Stelle steht ... dies mache ich mit allen weiteren also die 2 multipliziert man dann mit 10^4 ... tjoa nur is des Problem das er mir bei 123456 net als Zahl "123456" ausgibt sondern 30
hmmm kann mir vll jemand sagen wo mein Fehler in den Zeilen zwischen 30-33 liegt ?

danke für erstmal für eure Hilfe

nunja heute hatte wir ja wieder Info und haben des Prob gelöst also die Überprüfung funtzt nun nur leider net des Konvertieren von einem string in eine Zahl ... hier erst mal der Code:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<script type="text/javascript">
//Eben: 1
textZuZahl();
//Ebene: 2
function textZuZahl(){
var text = eingabe();
var ergebnis = verarbeitung(text);
ausgabe(ergebnis);
}
//Ebene: 3
function eingabe(){
return prompt("Geben Sie eine Zahl ein:","");
}
function verarbeitung(string){
var meldung;
var length = string.length;
for(var i=0;i<length;i++){
value_pos = string.charAt(i)
if(value_pos >= 0){
result = 1;
}else{
i= length + 1;
result = -1;
}
}
if(result > 0){
for(i=(length-1);i>=0;--i){
var value = string.charAt(i);
var exponent = (length-i-1);
var number = (value*10^exponent);
number += number;
}
return number;
}else{
meldung = "keine Zahl";
return meldung
}
}
function ausgabe(public){
alert("Ihre Eingabe war "+public)
}
</script>
|
nunja um den String in eine Zahl umzuwandeln gehe ich den String von hinten Nach vorne durch sprich bei "123456" ist die erste Zahl die ich mir anschaue die 6 ... um daraus eine Zahl zu machen multipliziere ich die noch pseudo-Ziffer 6 mit 10^0, da sie ja an der ersten Stelle steht ... dies mache ich mit allen weiteren also die 2 multipliziert man dann mit 10^4 ... tjoa nur is des Problem das er mir bei 123456 net als Zahl "123456" ausgibt sondern 30
hmmm kann mir vll jemand sagen wo mein Fehler in den Zeilen zwischen 30-33 liegt ?
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
des einzige was mir auffällt, is dass du da nie variable number defenierst, dann zusammenrechnest und in der nächsten scheife wieder definierst....
aber bin mir nich sicher ob des wirklich der fall is, da ich den ausdruck number+=number; nich kennne und nach dem else mit dem return meldung, würd ich nen strichpunkt setzen.... nur zur sicherheit..
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 |
if(result > 0){
for(i=(length-1);i>=0;--i){
var value = string.charAt(i);
var exponent = (length-i-1);
var number = (value*10^exponent);
number += number;
}
return number;
}else{
meldung = "keine Zahl";
return meldung
}
|
aber bin mir nich sicher ob des wirklich der fall is, da ich den ausdruck number+=number; nich kennne und nach dem else mit dem return meldung, würd ich nen strichpunkt setzen.... nur zur sicherheit..
Dieser Satz hat 2 Fähler....
Dieser Satz ist falsch...
Dieser Satz ist richtig...
Dieser Satz ist falsch...
Dieser Satz ist richtig...
hmmm naja in Zeile 32 meines Codes wird die Variable number mit "var number = (value*10^exponent);" bereits deklariert und berechnet 
hmmmm und des mit return meldung ohne Semikolon hat keine Auswirkungen, da JS in der Hinsicht nicht so pingelig ist wie z.B. PHP ! die Semikolons müssen nur gesetzt werden, wenn in einer Zeile mehere Zu- oder Anweisungen stehen.
Edit.: ajo und des number+=number steht für number = number + number

hmmmm und des mit return meldung ohne Semikolon hat keine Auswirkungen, da JS in der Hinsicht nicht so pingelig ist wie z.B. PHP ! die Semikolons müssen nur gesetzt werden, wenn in einer Zeile mehere Zu- oder Anweisungen stehen.
Edit.: ajo und des number+=number steht für number = number + number
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Kampfbieber« (27. November 2004, 13:37)
*gg* jo is mir eben au aufgefallen, dass die Potenzschreibweise in JS a bissle anders is
schade in TP gings noch so 
nun ja unter CGI potenziert man mit "1.0e+2" (Ergebnis: 100) in JS funtzt des so auch nur leider mit Variablen nicht ... bzw. ich habs noch net rausgefunden
schade in TP gings noch so 
nun ja unter CGI potenziert man mit "1.0e+2" (Ergebnis: 100) in JS funtzt des so auch nur leider mit Variablen nicht ... bzw. ich habs noch net rausgefunden
Zitat von Albert Einstein:
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
"Geniale Menschen sind selten ordentlich, Ordentliche hingegen selten genial"
hmm vorschlag:
nachdem isch schon geübt bin im ausweichen von problemen, würd ich einfach das exponentenmachen umgehen, indem du den exponenten vorher declarierst, wie zum beispiel:
Sollte funktionieren....
nachdem isch schon geübt bin im ausweichen von problemen, würd ich einfach das exponentenmachen umgehen, indem du den exponenten vorher declarierst, wie zum beispiel:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
for(i=(length-1);i>=0;--i){
var value = string.charAt(i);
var exponentenzahl =(length-i-1);
if (exponentenzahl != 0){ //if schleife überprüft, ob es sich um einen 0-exponenten handelt
var exponent= 1; //Basis ist 1, da ich ja eine bezugszahl brauche für den multiplikator
}
else{
var exponent= 0;
}
while (exponentenzahl >=1) //hier wird der exponent als komplette zahl ausgerechnet, das ja 10³ z.b. 1000 ist. Dies geschieht durch die mehrfache multiplikation von 10ern
{
var exponent = exponent*10;
var exponentenzahl =exponentenzahl -1;
}
var number = (value*exponent); //hier reicht dann der vorher bestimmte exponent als ganze zahl aus
number += number;
}
|
Sollte funktionieren....
Dieser Satz hat 2 Fähler....
Dieser Satz ist falsch...
Dieser Satz ist richtig...
Dieser Satz ist falsch...
Dieser Satz ist richtig...
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Zeroground« (30. November 2004, 19:45)


